Abstract:
A distributed, multistage agent for monitoring, diagnosis and maintenance of network devices comprises an input/output interface for receiving input monitoring and diagnostic data relevant to operation of a first neighboring agent and transmitting output monitoring and diagnostic data relevant to operation of the host network device to a second neighboring agent. An agent process analyzes the input data and generates processed data characterizing operation of the host network device, using a local database which stores expected performance data on operation of said network device. The processed data is correlated with the expected data any error is signaled to the network operator. The agents may be designed as a multiple stage process, the stages being triggered by the data output by an earlier stage only when needed.

Description:
FIELD OF THE INVENTION  
       [0001]     The invention is directed to communication networks and in particular to a system and method for distributed monitoring, diagnostic and maintenance of network devices.  
       BACKGROUND OF THE INVENTION  
       [0002]     There is a distinct challenge in monitoring large scale networks and two fundamental approaches. One approach is to use a central system (e.g. a network management system NMS) that polls all the devices in the network and tries to understand what is happening. Another approach is to distribute the intelligence between the network devices so that they can self diagnose problems and only report exceptions, rather than the volumes of information that say everything is still fine.  
         [0003]     There is significant industry research and development in area of network device management, but little in distributed router management with intelligent agents. Most networks currently use centralized network management systems (NMS), and local agents on most network devices, which operate as clients of the NMS. In this case, the local monitoring is enabled by software running on the respective node, for sending some data to the central NMS that ultimately provides the intelligence and management capabilities.  
         [0004]     As network complexity grows, it is unlikely that the central systems can remain competitive and scale up according to the network growth. The disadvantages of the current centralized NMS solution are, to list a few:  
         [0005]     Centralized monitoring, diagnostics and maintenance tools require significant network resources in order to effectively manage the network. Generally, only a limited amount of information is gathered from the devices in the network, in order to constrain the resource usage in a large network. As a result, many problems are not detected until after they occur.  
         [0006]     Preventative maintenance requires volumes of detailed information to be processed, the vast majority of which is a result of normal operation. Centralized systems cannot manage the amount of information in a large network to offer significant preventative maintenance capabilities.  
         [0007]     Central systems require resources to function, such as the ability to retrieve data from the nodes. When the network is misbehaving, and when the maintenance systems are required to be operational by definition, the resources may not be available, i.e. the central system may not be able to communicate with the devices in its network.  
         [0008]     The topology of the network must be known when using centralized management system solutions.  
         [0009]     It is also known to use systems external to a network device that analyze more deeply a specific node behavior, such as routing. While the external mechanisms may provide a more in-depth analysis of the device operation, these systems use extensive computing resources. As a result, equipping a network device with such a complex mechanism is not economically feasible due to the limited amount of physical resources available at the node. In addition, the external systems do not report the problem immediately due to the need of off-line computations; there is no way to retrieve synthetic results at a speed compatible with quick reaction to a detected anomaly.  
         [0010]     Some network devices are enabled with embedded monitoring engines. However, the existing embedded mechanisms are very rough and too weak to provide the network operator with meaningful information on the behavior of the host network device. Such embedded mechanisms generally compare counter values with fixed values and trigger alerts when the threshold is exceeded.  
         [0011]     There is a need to provide a network device (such as a router or a switch) with an agent for distributed monitoring and diagnosis of network operation. Such an agent will operate as an intelligent distributed agent to filter the data provided to the NMS, thus reducing the network traffic overhead transmitted to the central management system.  
         [0012]     There is also a need to provide a network device with a multistage intelligent monitoring and diagnostic agent which incrementally triggers the resource-consuming monitoring and analysis modules at the router as need be.  
       SUMMARY OF THE INVENTION  
       [0013]     It is an object of the invention to provide a system and method for distributed monitoring, diagnostic and maintenance of network devices, that alleviate totally or in part the drawbacks of the prior art systems and methods.  
         [0014]     It is another object of the invention to provide a system and method for distributed monitoring, diagnostic and maintenance of network devices that reduces the network traffic overhead transmitted from the network nodes to the central management system.  
         [0015]     Still another object of the invention is to provide a network device with a multistage intelligent monitoring and diagnostic agent which incrementally triggers resource-consuming stages for more in-depth analysis and diagnostic, as need be, based on the device behavior.  
         [0016]     Advantageously, locally collected network device operational data is correlated with equivalent data received from neighboring network devices, for consolidating the data referring to a particular event, so that the network traffic overhead is significantly reduced. As well, the invention enables a network provider with flexibility in customizing the network behavior to particular users, by using global high level policies and rules that may be tailored once particulars about network device operation in the context of the respective network are known.  
         [0017]     Use of local agents minimizes network resource usage, while providing intelligence on establishing the causes of the misbehavior when the central management is out of communication. In addition, when the network is unstable, local agents are capable of observing local phenomena.  
         [0018]     The invention also allows for real-time monitoring of network devices against global high level policies and rules to detect problems. By providing embedded network intelligence at the network device level, the networks can monitor themselves and adapt to changing topologies, without the need of costly external mechanisms.  
         [0019]     Use of an embedded intelligent agent enables for both a continuous monitoring of network device operation, and an incremental, more in-depth analysis of the device operation. Based on the results of a basic monitoring and diagnostic stage, various degrees of monitoring and diagnostics are possible, as desired, or as need be. This enables intelligent network device resource utilization, which are used according to the type/level of monitoring and diagnostics stage.  
         [0020]     Still another advantage is that the invention works for any type of network, since the agents do not need to know the topology of the network to function. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0021]     The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of the preferred embodiments, as illustrated in the appended drawings, where:  
         [0022]      FIG. 1  shows the main units of a monitoring, diagnostics and maintenance agent according to an embodiment of the invention;  
         [0023]      FIG. 2  shows operation of the agent of  FIG. 1 ; and  
         [0024]      FIG. 3  illustrates an embodiment of a multi-stage monitoring and analysis agent. 
     
    
     DETAILED DESCRIPTION  
       [0025]      FIG. 1  shows the main units of a monitoring, diagnostics and maintenance agent mechanism  1  (herein called agent) according to an embodiment of the invention. Agent  1  is embedded in an existing network device (router or switch) and is always present. The agents described here are not just client agents, but rather they are in a client-server relationship with all neighboring agents they communicate with. A neighboring agent here is an agent located on a network device physically connected to the device hosting the agent under consideration.  
         [0026]     Each agent exchanges with neighboring agents data relevant to the network device operation, for enabling detection or faulty operation and also for enabling consolidation of messaging with the NMS (network management system). In this specification, the term ‘data’ is used to specify any type of information relevant to operation of the router, including performance monitoring data, messaging, alarms, etc. It is to be understood that this data is not limited to the above examples, but can be any type of information that the network provider or user may wish to be considered. Also, in this specification the network device may be referred as a router; it is to be understood that the invention is applicable to network devices operating at layer-2 and above.  
         [0027]     By distributing the tasks of monitoring, diagnostics and maintenance between routers, the NMS tasks are reduced, enabling more efficient and faster management of the network, while the overhead messaging between the NMS and the routers diminishes significantly. In addition, an agent  1  does not need to know the network topology; rather it can discover and report the network topology, which makes it very well suited to mobile and ad-hoc networks.  
         [0028]     In order to enable communication with other agents, agent  1  is provided with a receiver  6  and a transmitter  18 . Preferably, the agent  1  also uses decryption and encryption units  7  and respectively  16  for data authentication necessary for security reasons.  
         [0029]     For the forward direction, agent  1  receives monitoring and diagnostics data from other agents via the receive block  6  using the normal network communication protocols, such as IP. The decryption block  7  authenticates and decrypts the data which is then placed into an agent request queue  8 .  
         [0030]     The agent process  10  continuously monitors the agent request queue  9  and processes the data in the order established by the queue  9 , at the first available opportunity. When a request is taken for processing, the agent process  10  decodes the data and applies the logic requested by that specific data, after consulting a rule base  15  and a policy database  20 . The rule base  15  includes a plurality of rules that define the correct operation of the router. The router policy database  20  maintains a plurality of policies applicable to the respective particular router.  
         [0031]     Various methods of detecting router behaviors may be envisaged and provided in the rule base  15  and router policy database  20 , respectively. Statistics may also be collected for enabling the NMS/operator to detect certain systematic abnormalities or potential for errors, in order to advise the respective network provider or user of the problem. For example, such statistics may identify the router responsible with the worst routing practices, enabling the provider/user to take any suitable corrective measures.  
         [0032]     The agent process  10  forwards the information relevant to the respective data, hereinafter called the processed data, to a correlation module  12 . Module  12  correlates this processed data with equivalent data stored in a local database  25  to detect any inconsistencies. The accuracy of the detection must be sufficient to provide the NMS/operator with enough relevant information.  
         [0033]     The data output by correlation module  12 , hereinafter called the correlated data, and that do not specify errors is forwarded on to a next hop selector  14  to continue through the network. Next hop selector  14  chooses a neighboring device (router, switch) and implicitly the respective neighboring agent to consult. Preferably, this selection is performed via a random path selection or random multiple path selection mechanism. A variety of next hop selection mechanisms can be used, the invention is not limited to any particular such mechanism. After the next hop device is identified, the data is encrypted in encryption block  16  so that it can be forward to the next agent in a secure manner and then transmitted to the next agent using transmitter  18 .  
         [0034]     If there is a problem, an error generation module  13  is consulted to send an error message to the central management system. The error message may contain a simple indication of an error, or may provide additional information on the particulars of the error, with various degrees of sophistication. Before transmission at  18 , the error information is preferably encrypted at shown at  16 .  
         [0035]      FIG. 2  shows the distributed agent at work. In this example, the network devices are routers denoted with R 1 -R 5 . The dotted lines indicate a “traveling” agent  30  thereby the routers exchange their operational data with a neighboring router. In this example, data from agent  1  hosted on router R 1  travels to neighboring agent  2  hosted on router R 2 , etc. As discussed previously, R 2  is the next hop from R 1 , selected by the agent  1  on R 1  using the respective selection mechanism  14  (see  FIG. 1 ). If any of the agents  1 - 5  detects an error, the error message is transmitted to the central management so that the operator may take appropriate action.  
         [0036]     As an example, let&#39;s assume that the functionality that is monitored and analyzed by the agent  1  is the routing behavior of the routers in sub-network  100  of  FIG. 2 . Particularly, let us assume that the BGP (border gateway protocol) routing table contents and evolution is of interest. BGP is a routing protocol whose aim is to exchange routing (prefixes+next hop, etc. . . .) information between autonomous systems (AS&#39;s). An autonomous system or routing domain is a group of internet protocol (IP) routers or label switching routers (LSRs) exchanging routing information using a common routing protocol such as IGP (Interior Gateway Protocol) and controlled by a common network administrator on behalf of a single administrative entity. An autonomous system shares routing information with other autonomous systems using the BGP.  
         [0037]     The primary objective in this case is to give operators the most pertinent information on any erroneous, abnormal or suspicious routing table content. For example, suspicious or error source behaviors could be lack of aggregation, non-conformance to RIR&#39;s allocation policies, multi-homing (addressing scheme in IS-IS routing that supports assignment of multiple area addresses), etc.  
         [0038]     Each router R 1 -R 5  of the sub-network  100  is equipped with a respective agent  1 - 5 , the agents monitoring and analyzing, in this example, the routing behavior of the router R 1 . As indicated above, the agents  1 - 5  on R 1 -R 5  perform the respective local analysis of the BGP routing table content and evolution, using the rule base  15  and the router policy database  20 . Then, the agents also perform the correlation with the respective routing data received from the neighboring agents, and transmit any error detected as a result of the correlation to the NMS.  
         [0039]     However, some of the tasks performed by the agent may be more resource consuming than others. For example, early analysis showed that it is unrealistic in terms of available resources to analyze BGP messages to detect suspicious behaviors. The growth of the routing table size is not always caused by the growth of the network, but also comes from usual practices in BGP configuration. Although these configuration policies are locally relevant, they often impact the entire network (Internet), since the BGP does not offer any efficient mechanism to restrict diffusion of a route.  
         [0040]     The objective of the embedded routing monitoring of this example is to detect lack of aggregation, multi-homing and load balancing with a view to reducing the content of the forwarding information base (FIB). Also, the embedded routing monitoring in this example allows operators to have a “real-time” view of the behavior of the respective routers and AS&#39;s. In other words, each embedded agent may provide a local view of the BGP behaviors. It is to be noted that detection of such cases does not necessarily means an error in operation, but could signal a mode of operation due to application of various valid BGP policies. This allows a better use of hardware resources, which are expensive and critical in the context of high-speed networks. While waste coming from lack of aggregation can be easily fixed, this is not the case for load balancing or multi-homing. Up to now, all of these practices are not only tolerated, but they are also exported in the whole Internet.  
         [0041]     Furthermore, the agents may be designed to monitor and analyze the router behavior in a multiple stage process, the stages being triggered by the data output by an earlier stage only when needed. For example, the first monitoring and analysis stage continuously runs to perform basic tasks, selected to consume low router resources. The output of the first stage is used to trigger a second stage, based on the type and level of error or abnormality detected by the first stage, if any. Since the analysis performed in the second stage is specialized and more complex than that of the basic stage, the cost of operating this stage is higher due to higher resource consumption. The cost of operating the agent may be reduced since the second stage operates only if necessary (as pre-set by the network provider or user) and based on the output of the first stage. Additional specialized and more complex stages may also be used; this architecture can be extended to any level.  
         [0042]      FIG. 3  shows a two-stage mechanism. In this example, the first stage  40  provides global monitoring, which as indicated above, uses fewer resources and runs continuously. The output  35  of stage  40  triggers the second stage  50 , using e.g. pre-set thresholds. Stage  50  performs specific analysis of data  35 . and as such is more resource consuming; it also operates on a subset of data identified during the first stage. The operator may receive error messages from the first stage directly, or from both the first and the second stage.  
         [0043]     Various methods may be used to perform the analysis of e.g. the routing data, such as monitoring prefix repartition by size, or detection of prefix non-conformance with allocation policies, etc. If any of the results of stage  40  indicates routing table abnormalities, the suspicious data is provided to stage  50 , for in-depth analysis. Again, there are various methods available in this second stage, such as address fragmentation count, determining lack of aggregation rate, load balancing or multi-homing, etc. These methods are described briefly next.  
         [0044]     Load balancing is characterized by the fact that a route advertised for a prefix has the same origin as a route for a neighboring prefix, but the paths for these prefixes are different. Two prefixes are considered as neighbors if the sets of the respective covered addresses are adjacent. Therefore, load balancing is detected if there exists a prefix Pb neighbor with a prefix Pa, or Pb covers Pa, such that the respective routes have the same origin but distinct physical paths.  
         [0045]     Multi-homing is characterized by the fact that a prefix is advertised by a network device through several providers. In fact, the example considers a ‘provider aggregate-able’ allocated prefixes approximation, which is justified by the way the prefixes are allocated to independent providers in IPv4. With this approximation, multi-homing creates ‘holes’ in the routing base because the customer advertises its prefixes separately from the prefix of its provider. A ‘hole’ is a prefix whose route has different characteristics (at least the origin of the path) than the route of its covering prefix. There should be no hole for single-homed prefixes, because the customer doesn&#39;t need to announce this prefixes beyond its provider. Therefore, multi-homing is detected if there exists a prefix Pb covering Pa, and having different.  
         [0046]     Lack of aggregation is characterized by the fact that a prefix is advertised by a network device with the same characteristics (mainly the physical path) as a neighbor and aggregate-able prefix. Therefore, lack of aggregation for a prefix X/n is detected if the bit of level n for X is 1 and there exists a NLRI Y/n (Y being X with bit level n=0) such that the physical paths for the best routes are similar.