Created by:

James A. Rome
Oak Ridge National Laboratory
jar@ornl.gov

 

Introduction

The Domain Modeling Language (DML) is used to specify the network topology and simulation parameters for the SSFNet simulation of network performance. For small networks, the DML file can be created by hand. However for enterprise-scale systems, the process must be automated. For example, ORNL has over 20,000 hosts on its network. NetViewer is a tool designed to allow you to view, edit, and understand the network topology. A companion tool, ORNLnet creates the basic network topology either by querying our specialized Oracle network database, or by using the HP® OpenView® topology dump.

ORNLNet is available in a jar file. If you have an OpenView topology dump file, you can convert it to a DML file by doing

java -jar ORNLNet.jar

and then view the resulting output using NetViewer.

The purpose of this document is to present a short NetViewer tutorial for early users of the program.

Installation

Unzip the supplied zip file to a directory. Java 1.4 or higher is required to use the program.

To run the program, in a command window, switch to the install directory and give the command:

java -Xmx200M -Xms100M -jar NetViewer.jar

The initial program window should appear.

Fig. 1. The initial NetViewer screen. The left pane will contain the DML file to be edited. The right pane is the default schema template that can be used to add components. The default schema is in the file NetSchema.dml which should be in the classes directory.

Running the program

You must start by opening a DML file in the File menu. When the file is open, the NetViewer screen looks like Fig. 2.

Fig. 2. A DML file has been opened, and the main (Net) node has been expanded by clicking on the + next to it. Once it is expanded, the + changes to a -.

A node is represented in the tree by a folder (in the "Windows" look). Nodes can have children. The children (if they cannot have children) are called leaves. Fig. 2 uses the Windows Look and Feel (only available in Windows). You can select the Motif, Metal, or your system default Look and Feel in the View menu. NetViewer uses all three mouse buttons. On a Mac, they correspond to the left button, and the left button in combination with the Ctrl and Apple keys.

Fig. 3 shows an expanded node and the screen that appears if Edit Attribute is selected.

Fig. 3. The node router atm4500na has been expanded to show its leaves. One leaf was selected, and a window appears that allows you to edit all of the leaf values, or to add a new one.

In a tree with 20,000 nodes it can be hard to find a particular node, so the search menu causes a search screen to appear (Fig. 4).

Fig. 4. A search is made for the ccsrtr. If the enhanced node names box was checked, the Node Name (in red because it is required) would have to be specified as "router ccsrtr" and then the node attributes would not have to be specified. When the Find button is pressed, the node (if found) will be opened, and the tree moved to display the node.

Tool tips are provided for most items and will be displayed it you hover the mouse cursor over the item for a few seconds.

The Expand Node button will try to replace the _find and _expand items in a node with the dictionary definitions (at the end of the DML file). See Fig. 3 for a node that can be expanded.

Editing the tree nodes

The Add Child Node and Replace Node buttons will take selected nodes from the right-hand pane and either replace them or add them to selected nodes in the left pand. Similarly, the Delete button will delete selected nodes in the left pane. We note that multiple node selection is allowed in both panes by holding the Ctrl-key while selecting multiple items.

Cut and paste operations are supported in the left pane using the Alt-c (copy), Alt-x (cut) and Alt-v (paste) keys. You must select a set of nodes, and cut or paste to copy them into a paste buffer. Then select the target node(s) and with Alt-v, the nodes in the paste buffer will be copied to each of the selected target nodes.

Topology

NetViewer displays and allows you to edit the network topology. If the Topology button is pressed, a topology display screen appears.

Fig. 5. The Initial topology screen. The Port spacing slider on the top allows you to change the spacing (in pixels) for the port attachments to the network nodes. The Expand combo box allows you to choose where to expand the hosts within a network node (there may be hundreds of them!).The Print button prints the display, and the Save image button makes a JPEG image of the entire display. Save Positions saves the x-y positions of each network element in the data tree (but doesn't not make it permanent unless the whole DML file is saved in the main window). Redraw saves the positions and also redraws the connecting lines. Expand enlarges the drawing screen by 100 pixels to allow you to enlarge the plot. Cancel closes the window without saving. Display CIDR will display the CIDR values if they are in the DML file. SetArea allows the user to assign interfaces to OSPF areas.

The picture in Fig. 5 does not get very interesting until you press the yellow button to expand the network topology. For a "raw" DML file, the buttons will be displayed on a rectangular grid as shown in Fig. 6.

Fig. 6. Initial view of the network topology. The green buttons represent top-level network devices (routers, switches, firewalls, concentrators).
The pink buttons are subnets.The network topology is shown by the connecting lines-- the trick is to untangle everything.
The small numbers at the line ends are the port numbers.

The above mess can be untangled by clicking the buttons and dragging them around. The lines follow the buttons, and the line nodes can also be moved by dragging, although the line locations are not saved in the DML file. Single clicking a network button will expand its contents as shown in Fig. 7.

Fig. 7. The subnet SDSC Net was expanded (by left clicking) to show the hosts or switches within. Clicking the button again will unexpand the node. If the positions are saved while the node is expanded, the positions of the node's contents will also be saved.

The key to untangling Fig. 6 is to drag all the green buttons to their approximate positions, and then to click each one with the center mouse button. This invokes a "gather" function that causes the subnets attached to the network device to arrange themselves around the device. Then, clicking the Redraw button will cause the lines to redraw. The subnets near each network device can be additionally moved to eliminate tangles. After a few minutes of work, the improved network topology of Fig. 8 is created.

Fig. 8. An improved picture of the network topology.

Finally, any button in Fig. 8 can be right-clicked to display a pop-up window of the tree starting with that node, so that the details of the node can be examined.

Fig. 9. The pop-up window that appears if the phylan1 button is right-clicked.

Adding a host

Most of the details of the simulation are in the simulation parameters of the clients and servers on the network. NetViewer provides a GUI way to edit the network data. Fig. 10 shows 3 routers selected, and the "Add host" menu that pops up when the selected nodes are right-clicked.

Fig. 10. Hosts can be added to routers by selecting them, right-clicking, and then selecting the Add host menu.

This will open the host editor as shown in Fig. 11.

Fig. 11. The host data editor. The right pane allows you to specify the properties of the host interface, and also the number of (identical) hosts that will be added to each router. The left pane allows selecting and editing each protocol. The lower dialog box shows the Editing window for the HTTP Client Parameters. The items in blue have associated tool tips, as do most of the probability distribution parameters. The right-hand column is editable. The parameter dialog is exited by closing the window via the X in the top-right corner. Be sure to hit the Return key after changing an editable parameter to register your selection.

Traffic can be added by selecting clients and servers in the main NetViewer tree, right-clicking, and selecting the Add traffic option (Fig. 10). Each client will have traffic between it and ALL the selected servers.

OSPF Areas

If the OSPFv2 router protocol is used, one of the chores that must be performed is to assign interfaces to OSPF areas. NetViewer helps automate this task. In particular, a number of interfaces (on routers only!) can be selected on the topology plot by shift-clicking the interface numbers.

Fig. 12. If a router (green) has many interfaces, they can all be selected by holding down the Alt key and clicking any one of them.

Once all of the interfaces for a given area are selected, click the Set Area button to select the area and add the choices to the DML file.