EMU User Guide

EMU User Guide


Abstract

This manual describes the installation, use and interpretation of the displays produced by the EMU system


October 2000


Preface


preface

This manual is divided into four sections:


Contents


Chapter 1
Introduction

EMU (Ethernet Monitoring Utility) is a system that listens to the attached Ethernet and records all addresses appearing on the cable. For each address found it also records the protocols enabled on that address and for selected protocols it can extract information useful for network management purposes. It then uses this database to locate other nodes in the wide area network and initiate monitoring functions.

Some of the basic features of the system follow:

For details on what data is available and instructions on how to extract it see the user guide section.

1.1 System Overview

This is the 5th version of EMU and it's 3rd major rewrite. While all the original goals and much of the code was retained, both the architecture and the engineering have been greatly expanded to reflect the ongoing changes in the networking world. Most importantly, the principles that drove the design remained:
  1. Full automation. The system is designed to assist the user in monitoring and managing the network, not the reverse as in many current systems. All data in the database is derived from the network; there is no user input possible at this level. This ensures data integrity and eliminates the burden on the user.
  2. Full integration. The system maintains full cross referencing of all addresses where there is sufficient information. While it is necessary to implement each network as a separate entity, the user sees only single devices attached to many networks, or many networks with devices attached. This arrangement allows the system to more effectively monitor any single device using the multiple protocols it supports and allows more accurate and complete reporting of any device.
  3. The system itself should require no maintenance. All processes are self configuring, self monitoring and self tuning.
  4. The complexity of the network itself should be hidden. The system should be fully usable by non-network personnel to extract useful information; The simple question "How is the network performing?" should be answered simply, completely and with qualification.
  5. The system will acquire and store sensitive information. It is essential that this system incorporates controls that protect this information, or even the fact of it's existence from unauthorised disclosure.

1.2 A Brief History of EMU

EMU started life as a project to automate an early DECnet management system provided by Digital. Once this was completed, it was expanded out to include some of the other Digital tools then available and the result was an unwieldy mass of DCL procedures that none the less proved the possibility of unburdening the network manager from the task of managing the system that was intended to save time and effort. This set the first principle of design: A network management system should tell the network manager about the network, not the reverse. One of the early problems found on all systems, including EMU was the need to poll the managed devices constantly in order to acquire the information necessary to manage it. In extreme cases substantial resources are used just to manage and often the tool intended to solve problems became the problem. In order to alleviate this the concept of listening was developed. All major network schemes implement a protocol that is used to maintain the integrity of the network. In most cases they pass information about nodes or networks that can be reached, nodes that have stopped responding and in some cases, service names and other useful information. By listening to this conversation, a fairly complete picture of any network can be gained without adding data to the network. This, though much more difficult to implement became the second principle: A network management system should be part of the solution, not part of the problem.

The next stage was to recode the logic into programmes and it was about that time that the major systems that we use today came out (SunNet manager, HP Openview, Netview and DECMCC) and the EMU effort would have ended there had any of these systems adhered to these (to us!) most basic of principles. The time saving achieved by using the system to monitor the network was used up by having to monitor the system itself. A further problem was that while all the manufacturers claimed multivendor capability the claims in some cases were a bit thin and in no case was integration achieved. For example DECMCC had a DECnet module, a TSM (Terminal Servers) and an SNMP module all which worked but internally did not intercommunicate. Thus should a node fail all the individual modules reacted independently without regard for each other. It was apparent at the time that this failure not only complicated the interface and the network manager's task but had this integration been included, the system could then use it's understanding of the various protocols present to enhance it's usefulness. For example, should the DECnet module report a failure on a node, the first action the manager would normally take is to access the node on an alternate protocol to determine if the node is down or if DECnet has failed. As this is a routine effort, this routine should be built into the system so that failures can be reported more completely and in context. This became the third design principle: EMU would take 2 views of the network equally. The network as a collection of devices cooperating on 1 or more networks and as a protocol in which many devices cooperate. It is a subtle but essential distinction.

The first 3 versions became experimental and proof of concept and for version 4 an architecture was drawn up to guide a more formal effort at implementing what was learned so far. Version 4 was successful in that it ran without major change for about 3 years and it even managed some commercial success but changes in the networking world began to overtake it. The most basic flaw was that EMU assumed (accurately at the time) that each device on the network had exactly 1 LAN address and this was used as the key in all databases. As this became less and less true and EMU changed to accommodate, it was clear that the original design was inadequate. A decision to re-engineer the system became an opportunity to re-architect it and remove some of the built in restrictions. Most notable among these restrictions was the over adherence to listening and not talking on the network. It was clear that listening was a good mechanism to build the initial picture but that polling was needed to complete it.

To shorten this narrative to it's essentials, suffice to say that in the 3 years since this decision was taken, 18 months was spend exclusively on the architecture document with the remaining time spend on coding and testing the implementation. The current version implements about 60% of the architecture.


Chapter 2
Installation

  1. Create the root directory for the EMU system. This can be on any disk at any level. The system resides in various directories under this to a level of 3 max so make sure you do not create the root at a depth greater than 4.
    $CREATE/DIR disk:[emu]
  2. The files created in the next section will consume about 75,000 blocks of disk space. The running system will (very dependant on the size of your network) will consume a further 50,000 - 100,000 blocks.
  3. Set default to this directory and backup the saveset:
    $BACKUP/LO Tape:[...]*.*;*
  4. Edit [.SRC]EMU_LOGICALS.COM and replace the first executable line with the device and directory you created in step 1. Remember to include the final '.' in the directory spec as this will become a rooted logical.
  5. Execute EMU_LOGICALS.COM:
    $ @[.SRC]EMU_LOGICALS
  6. Ensure you got the expected effect:
    $SHO LOG EMU*
    You should see a list of directories under the directory you created in step 1.
    $DIR EMU5_SRC:
    You should see a list of .MAR files
  7. All being well set default to EMU5_SRC: and execute BUILD:
    @BUILD
    Answer 'YES' to the question 'Compile all subroutines (YES/n)'
  8. The system will then build the necessary libraries
  9. A number of warning messages will be displayed during compilation. These can be ignored as long as the process continues to completion.
  10. When finished (Maybe 20 min or so) answer 'YES' to the question
    Compile all programs? (YES/n)
    This will build the system on the current version of VMS on the current architecture.
  11. A number of warning messages will be displayed during compilation. These can be ignored as long as the process continues.
  12. All EMU processes run under the system account. Ensure this account has the required quotas. A copy of one that works appears at the end of this list.
  13. Ensure LAT, DECnet and UCX are all started.
  14. Ensure LATCP can see all services:
    $MCR LATCP SET NODE/USER=ENA=0-255
    The LAT processor will see all LAT devices on the net but updates from the local (VMS created) database. If the above is not done, EMU will likely find LAT nodes that VMS knows nothing about.
  15. Finally, start the system:
    @EMU_SRC:START_EMU
    You may clear the databases and start fresh each time you start the system by answering 'y' and confirming this to the prompts. For excessive safety, on the first startup, do this.
    You may clear the log files on each startup. Generally a good idea (after review). There is no mechanism to control the size of these files automatically and while generally well behaved can, on occasion become churlish.
Following is a snapshot for a system account that EMU works with. The most important quota is BYTLM. The listener enables promiscuous mode and saves as many frames as possible in the driver. This requires a LOT of BYTLM. There are undoutably more optimum settings for the others.
Username: SYSTEM Owner: SYSTEM MANAGER
Account: SYSTEM UIC: [1,4] ([SYSTEM])
CLI: DCL Tables: DCLTABLES
Default: SYS$SYSROOT:[SYSMGR]
LGICMD:
Flags: DefCLI
Primary days: Mon Tue Wed Thu Fri
Secondary days: Sat Sun
No access restrictions
Expiration: (none) Pwdminimum: 8 Login Fails: 1
Pwdlifetime: 30 00:00 Pwdchange: (pre-expired)
Last Login: 16-AUG-2000 13:46 (interactive), 26-OCT-2000 11:00 (non-interactive)
Maxjobs: 0 Fillm: 250 Bytlm: 400000
Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0
Maxdetach: 0 BIOlm: 150 JTquota: 4096
Prclm: 0 DIOlm: 150 WSdef: 2048
Prio: 4 ASTlm: 250 WSquo: 6400
Queprio: 0 TQElm: 20 WSextent: 32000
CPU: (none) Enqlm: 2000 Pgflquo: 150000
Authorized Privileges:
ACNT ALLSPOOL ALTPRI AUDIT BUGCHK BYPASS
CMEXEC CMKRNL DIAGNOSE DOWNGRADE EXQUOTA GROUP
GRPNAM GRPPRV IMPERSONATE IMPORT LOG_IO MOUNT
NETMBX OPER PFNMAP PHY_IO PRMCEB PRMGBL
PRMMBX PSWAPM READALL SECURITY SETPRV SHARE
SHMEM SYSGBL SYSLCK SYSNAM SYSPRV TMPMBX
UPGRADE VOLPRO WORLD
Default Privileges:
ACNT ALLSPOOL ALTPRI AUDIT BUGCHK BYPASS
CMEXEC CMKRNL DIAGNOSE DOWNGRADE EXQUOTA GROUP
GRPNAM GRPPRV IMPERSONATE IMPORT LOG_IO MOUNT
NETMBX OPER PFNMAP PHY_IO PRMCEB PRMGBL
PRMMBX PSWAPM READALL SECURITY SETPRV SHARE
SHMEM SYSGBL SYSLCK SYSNAM SYSPRV TMPMBX
UPGRADE VOLPRO WORLD

Note: EMU enables promiscuous mode on the local Ethernet device and attempts to read every packet on the cable. In most environments this causes very high I/O on the system and often results in significant impact on the node. It is strongly advised to run it on a standalone, dedicated VMS system. Any valid VMS system with a working copy of UCX is adequate.


Chapter 3
User Guide

This chapter describes in detail how to start and stop the system, monitor it's progress and the various utilities used to extract information.

3.1 Starting the system

To start the system issue the command:
$@EMU5_SRC:START_EMU
The procedure provides an option to restore all saved files or clear them and build a new database. The default is to reload all saved files.
EMU will then start all the processes required and after a few seconds it will exit back to DCL.

3.2 Stopping the system

To stop the system:
$ @EMU5_SRC:STOP_EMU
This deletes the EMU_CONTROL process which in turn triggers all other EMU process to shutdown. All database files and sections are saved to disk files in EMU5_DAT:

Figures 3-1 Menu System Schematic



3.3 User Interface

The user interface is entirely menu driven - there are no commands to learn. The menus provide comprehensive access to all EMU facilities and data. In addition to the menus there are a number of utilities (described in the Utilities section) that are run as separate procedures. Each menu item is described in the following sections.

3.3.1 Menu system overview

To start the user interface type EMU at the DCL prompt. The main menu then appears.

3.3.1.1 Menu Security

The menu items are controlled by the security system - that is if appropriate privileges are not owned by the user, some items do not appear. Note that the default privileges are used - the privileges the user has currently enabled are ignored, the system only checks the privileges owned. The required privileges are detailed in the menu description sections.

3.3.1.2 Getting help

The system supplies a comprehensive help facility and can be accessed by pressing the help key (on a Digital Keyboard or the equivalent on others) in any menu. Simply select the menu item help is required on and press the help key.

3.3.2 Main menu

The network can be seen as a collection of devices on 1 or more networks or a network and it's collection of devices. EMU supports both views.
There are 3 items in the main menu. In all cases, selecting an item from this menu displays a further menu.
  1. Device. This items allows querying and reporting on devices. There are no privileges required to display this item.
  2. Network. This items allows querying and reporting on networks. There are no privileges required to display this item. This is not yet implemented.
  3. System. This item allows access to the system management/monitoring facilities. If the user does not have OPER privilege, this item is not displayed and access to the underlying facilities is barred.

3.3.3 Device menu

There are no special privileges need to access these menu items. From this menu, the user may select:
  1. Query. Allows access to the live database. Using a further menu the user selects individual devices to display.
  2. Report. Allows access to the reporting subsystem. Here the user may create, define and view device reports. See reporting menu for details.

3.3.4 Device Query menu

In this menu, the user selects devices to display. Regardless of how the device is found, the display is always the same: all data for the device become accessible. For each of the following items, selection issues a prompt asking for appropriate input. Standard VMS Wildcards are allowed. The appropriate database is searched for matches. Any found are displayed one at a time until no more match. Within the display, menus allowing control of direction and content are presented. There are no special privileges need to access these menu items.
  1. Name. A nodename or any part of a nodename with Wildcards is input. A nodename may be up to 400 printable characters in length.
  2. LAN. Either an address or protocol type can be input. In the case of an address the user must input in form:
    xx-xx-xx-xx-xx-xx
    where x is either a hexadecimal digit or wildcard.
    The protocol type query is not yet implemented.
  3. IP. An IP address, or any part is input in form:
    ddd.ddd.ddd.ddd
    where ddd is a decimal digit in range 0-255
  4. DECnet. A DECnet address or any part is input in form:
    aa.nnnn
    where aa is a decimal number in range 1-63 and nnnn is a decimal number in range 1-1023.

3.3.5 Device display format

Each device found (if any) are displayed in common format. The screen is split into 3 parts:
  1. Top section displays the device. If a name is known the name is displayed, if not, the address is used.
    The class and device are also displayed. These fields are not yet implemented but in the released version, these will correspond to a user settable field showing relative importance and generic device type such as bridge, host, router etc.
    Once a particular protocol is selected, the time the device was last heard and the time the device was last updated on the selected protocol are displayed.
  2. Control menu. 2 fixed items are followed by the list of supported protocols this device runs. The two fixed items are:
    Next. Display the next device matching the search string.
    Previous. Display the previous device matching the search string.
    Protocol list. For each EMU supported protocol this device runs, a menu item is displayed. Selecting any protocol item displays either the parameters for this protocol or a further menu of the tables in this protocol. The number of parameters in some protocols can be quite large so EMU defines each parameter as belonging to a table. Selecting any table displays the parameters associated with it.
  3. Main Section. The parameters are formatted and displayed here in standard format: Parameter name : Parameter value

3.3.5.1 Parameter Display

The display of any parameter is controlled by:

3.3.5.2 Hidden Menu

While in the query display, if you press CTRL / a menu appears allowing: