8.2. Dependencies

A number of the systems that have been examined in this work depend on other systems that were developed during the course of this project for information and configuration data. This section aims to make these relationships clear, in order to explain how the systems function together to form a synergistic network monitoring system.

8.2.1. Dependencies between systems

The fundamental basis of a large number of the applications that have been described is the XML-based abstraction layer that was introduced in Section 3.2. This layer allows applications to operate independently of the network infrastructure by providing a way of abstracting from the vendor-specific components of the infrastructure in question. Having an abstraction layer such as this also makes the systems developed on top of it highly portable — all that needs to be changed in order to get the system to function on a new network is the abstraction layer's configuration.

The RADSL monitoring system of Section 3.1 is a prime example of why having such an abstraction layer is useful. The asymmetric nature of the RADSL line speeds, and the corresponding enterprise extensions to the simple network management protocol's MIB-II are the main reason that this XML-based abstraction was developed. As a result of the abstraction layer, the RADSL monitoring system makes no distinction between information that is derived directly from the SNMP MIB-II and that which is obtained from the enterprises section of the MIB. This means that the system can be used to monitor RADSL systems made by other vendors.

For the same reason, generating layer two network maps using SNMP (as was done in Section 4.2) benefits from the use of an abstraction layer. In this application, the XML middleware layer does more than abstracting from the vendor-specific components of the network — it is used to provide some seed information about the topology of the network in order that the application can decide where to start its mapping procedure.

Working out the logical location of a computer, as was done in Section 6.1 relies on both the XML abstraction layer directly, and on the layer two network maps that are obtained via SNMP — meaning that this application has a twofold reliance on the XML abstraction layer. It uses the network maps to provide seed information about the location of the various layer two switching devices on the network, and the XML abstraction layer to determine how to communicate with the SNMP agent on each device. In addition, this application depends on the traceroute(8)-based layer three network maps described in Section 4.1.

Chapter 5 describes an application aimed at tracking network growth. This application uses ICMP echo requests to determine whether there is a host listening on each IP address within a particular network block. In addition, the system can used to record the route taken by packets between the monitoring machine and the host in question. This route is recorded in much the same way as the traceroute(8) program records a route. In this way, it is a direct extension of the layer three network maps that were discussed in Section 4.1 The network mapping system records the hops between two hosts, in other words the intervening network infrastructure. In the network growth application, this is taken one hop further and includes the end node as well.

Another application that depends on knowing the logical location of machines is the system that records the physical location of the machines. A combined approach to determining location was taken by Section 6.3. This approach collates the information obtained about the physical and logical locations of machines. The result of this unity of approaches is an application that provides a more complete picture of the structure and location of machines on a network.

The intelligent reporting of faults, as outlined in Chapter 7 requires knowledge of the dependencies between various machines. These relationships can, to some extent, be determined automatically using the approaches described in Chapter 4 and Section 6.1 — that is, the network mapping and logical location applications respectively. In addition, this reporting application could be supplied with hints on the network topology directly using, for example, the XML-based approach taken in Section 3.2

8.2.2. Dependency summary

Figure 8-2 summarises the relationships and dependencies that are explained in Section 8.2.1. In this figure, the arrowheads indicate the direction of the dependency, with the head of the arrow pointing at the system that is depended upon. The numbers in parenthesis indicate the chapter or section number that discusses the system in question. Only those relationships that have been explicitly discussed are shown — there may be implicit relationships that are not shown. These implicit relationships occur when applications share common ideas and approaches, such as the use of the traceroute(8) approach shared by Section 4.1 and Chapter 5.

Figure 8-2. Dependencies between different systems