Abstract:
A network that implements a network management protocol. The network comprises a network manager coupled to a plurality of network nodes. Each network node has a network address to which the network manager addresses network management messages for controlling the configuration of the network nodes. The plurality of network nodes include a first network node. The first network node includes a plurality of management agents and a message forwarding circuit coupled to the management agents, wherein the network manager transmits a management message to the network address of the first network node and the message forwarding circuit forwards the management message to a first management agent specified by the management message.

Description:
The present application is a continuation of Application Ser. No. 429,593, filed Apr. 27, 1995, now abandoned. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to the management of network nodes and more particularly to a mechanism for simplifying the development and maintenance of a network node. 
     BACKGROUND OF THE INVENTION 
     Network switches such as the IPX® and the BPX™ sold by Stratacom, Inc. of San Jose, Calif., are used to provide a data path between multiple networks, each of which may operate according to a different networking standard protocol such as frame relay or Asynchronous Transfer Mode (ATM). FIG. 1 shows a prior art network switch 100 that is a node of a network. 
     Network switch 100 generally comprises a data path 125 and command bus 127 to which a controller 105, a trunk module 110, and service modules 115 and 120 may be coupled. Trunk module 110 is coupled to trunk A that connects network switch 100 to other nodes of the network. Service modules 115 and 120 are coupled to customer premise equipment (CPE) B and CPE C, respectively. The trunk and service modules may be configured in a number of different ways to allow communication between trunk A, CPE B, and CPE C via data path 125. 
     Controller 105 generally performs control functions for network switch 100 using command bus 127. Controller 105 also provides an interface that allows network manager 130 to control the configuration of network switch 100. Network manager 130, in turn, provides a user interface 135 that allows a human user access to and control of network switch 100. 
     Network manager 130 and all nodes of the network implement a network management protocol known as the simple network management protocol (SNMP) that allows network manager 130 to control configuration of network switch 100 and other network nodes (not shown). Accordingly, network manager 130 includes an SNMP manager application 131 for performing SNMP manager functions. Network manager 130 also includes a local management information base (MIB) 132 that stores information regarding the configuration and behavior of all the network nodes under the network manager&#39;s control, including network switch 100. MIB 132 also stores summary information about SNMP agents under the SNMP manager&#39;s control. A human user is provided access to the information stored by MIB 132 via user interface 135. Network manager 130 may be implemented as a network server. 
     The only network link provided between network manager 131 and network switch 100 is coupled to controller 105 which includes an SNMP agent application 106 for performing SNMP agent functions. Controller 105 includes a local MIB 107 that contains information regarding each of the trunk and service modules, including the configuration and capabilities of each trunk and service module. MIB 132 of network manager 130 includes a copy of MIB 107 and the MIBs of all other network nodes. 
     Network manager 130 treats network switch 100 as a single network node, addressing all communications destined for network switch 100 to the network address of network switch 100. Controller 105 receives and processes the SNMP message, using MIB 107 to determine which local resources are affected by the SNMP message. If the SNMP message affects a resource of network switch 100 that is not present on controller 105, controller 105 translates the configuration information originally contained in the SNMP message to a format suitable for use by the target trunk or service module. Controller 105 then transfers the translated configuration information to the target trunk or service module using command bus 127. The target trunk or service module receives and processes the configuration information, and the target trunk or service module indicates completion of configuration operations to controller 105 using command bus 127. Controller 105 transmits an appropriate reply SNMP message to network manager 130 to complete the management transaction. 
     A major disadvantage of this prior art arrangement is that whenever the function of a trunk or service module is modified or a new trunk or service module is added to network switch 100, the system software of the controller 105 (which includes MIB 107 and SNMP agent application 106) must be modified and tested. This greatly complicates the task of enhancing and maintaining network switch 100. 
     SUMMARY AND OBJECTS OF THE INVENTION 
     It is a therefore an object of the present invention to simplify the development and maintenance of a network node by reducing the need to modify the controller of a network node when a trunk or service module is modified or added to the network node. 
     It is a further object of the present invention to distribute network management functions among the trunk and service modules of a network switch to reduce the amount of processing overhead required of the controller of the network switch. 
     These and other objects of the invention are provided by a network that implements a network management protocol such as SNMP. The network comprises a network manager coupled to a plurality of network nodes. Each network node has a network address to which the network manager addresses network management messages for controlling the configuration of the network nodes. The plurality of network nodes include a first network node. The first network node includes a plurality of management agents and a message forwarding circuit coupled to the management agents, wherein the network manager transmits a management message to the network address of the first network node and the message forwarding circuit forwards the management message to a first management agent specified by the management message. Wherein SNMP is used, local address information is included in a community field of the SNMP message, and the message forwarding circuit checks the community field to determine the local address of the destination management agent. 
     Other objects, features, and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description which follows below. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which: 
     FIG. 1 shows a network management system of the prior art. 
     FIG. 2 Shows a network management system according to one embodiment. 
     FIG. 3A shows a management message according to one embodiment. 
     FIG. 3B shows a management message according to another embodiment. 
     FIG. 4 is a flow chart of one method for determining a destination trunk or service module by the management message forwarding circuit. 
    
    
     DETAILED DESCRIPTION 
     FIG. 2 shows a network management system according to a present embodiment wherein the management agent functions normally required of the controllerof a network switch are distributed among the service modules of the network switch. The embodiment of the present invention described herein is discussed with specific references to SNMP in order to facilitate understanding, but the mechanisms and methodology described herein work equally well with other network management protocols such as simple network management protocol version 2 (SNMPv2). 
     In the prior art arrangement described above, the controller of the networkswitch may be viewed as acting as an SNMP proxy agent on behalf of the trunk and service modules of the network switch. The principles of the present embodiment may be readily adapted to reduce the network managementoverhead of any network node that acts as a proxy agent for network resources not directly accessible by the network manager. 
     FIG. 2 shows a network switch 200 that includes controller 205, trunk module 210, and service modules 215 and 220, wherein each of the controller 205, the trunk module 210, and service modules 215 and 220 include a management agent and an MIB for performing network management functions. Specifically, controller 205 includes management agent 209 and MIB 207; trunk module 210 includes management agent 211 and MIB 212; service module 215 includes management agent 216 and MIB 217; and service module 220 includes management agent 221 and MIB 222. In keeping with the continuing example of SNMP network management systems, each of the management agents 206, 211, 216, and 221 are depicted in FIG. 2 as &#34;SNMP agents.&#34; 
     Network switch 200 is a network node having a corresponding network address, and all communications directed from network manager 130 to network switch 200 are received by controller 205. In contrast to the previously described prior network management systems, however, controller205 includes a management message forwarding circuit 209 (which is depictedin FIG. 2 as an &#34;SNMP message forwarding circuit&#34;) that receives managementmessages and determines the local destinations of management messages without processing the management message. Instead, a field of the management message is adapted to include information from which may be derived the corresponding &#34;local&#34; address of the target destination of themanagement message. The local address is distinct from the network address of network switch 200. 
     Message forwarding circuit 209 determines the local address from the adapted field and forwards the management message to the correct management agent. If the management message is destined for management agent 206 of controller 205, message forwarding circuit 209 forwards the management message to controller 205 via an internal path (not shown). If the management message is destined for the management agent of a trunk or service module, message forwarding circuit 209 forwards the management message to the appropriate trunk or service module via data path 225 as determined by the local address. 
     Because the trunk and service modules are provided with facilities for handling management messages, management messages may be forwarded directly to the trunk and service modules via data path 225 without requiring protocol translation or processing of the management message by controller 205. Thus, controller 205 need not become unnecessarily involved with the processing of management messages directed to network switch 200. 
     Message forwarding circuit 209 further allows trunk and service modules to be added to or removed from network switch 200 without requiring the modification and testing of the system software of controller 205 or of other unmodified trunk or service modules. Instead, only the system software of the trunk or service module that is reconfigured or added needbe modified and tested. Therefore, the maintenance of network switch 200 issimplified. 
     Message forwarding circuit 209 may be implemented as hardware or as software that may be executed by a local processor (not shown) of controller 205. According to the present embodiment, message forwarding circuit 209 is generally comprised of logic circuitry that determines the local address from the appropriate field of the management message and executes the appropriate data path transfer operations in response to the detected local addresses management messages. Message forwarding circuit 209 may also include buffer memory for buffering management messages received from network manager. 
     The operation of the network that includes network manager 130 and network nodes such as network switch 200 is now described with respect to the SNMP. To configure the operation of network switch 200, network manager 130 transmits an SNMP message addressed to the network address of network switch 200. The SNMP message has been modified to include local address information so that message forwarding circuit 209 may forward to the SNMPmessage directly to the physical location where the affected resources reside. The SNMP message is processed by the SNMP agent that manages the affected resources using its local MIB. 
     FIG. 3A shows a modified SNMP message 300 according to the present embodiment as generally including a VERSION field 301, a COMMUNITY field 302, and an SNMP Protocol Data Unit (PDU) field 303, wherein COMMUNITY field 302 has been modified to include a local address of network switch 200. VERSION field 301 specifies the version of SNMP used by the network management system, and SNMP PDU field includes the actual management command to be performed. 
     According to the SNMP, the COMMUNITY field 302 contains an arbitrary stringof information that identifies a &#34;community&#34; or relationship between an SNMP agent and a set of one or more SNMP managers. This relationship defines authentication, access-control, and proxy characteristics for the community. Each community is given a community name that is unique within the SNMP agent, and each SNMP manager within the community is provided with and employs the community name for all SNMP messages directed to thatSNMP agent. 
     According to the present embodiment, COMMUNITY field 302 contains local address information in addition to normal authentication information. Because the information identifying a community may be arbitrarily defined, the string of information contained in the COMMUNITY field may bedefined to include local address information. Network manager 130 is provided with local address information for each of the service modules and the controller so that network manager 130 may correctly enclose said local address information in the COMMUNITY field 302. 
     FIG. 3B shows an SNMP message 310 according to SNMPv2. SNMP message 310 comprises a WRAPPER field 311 and an SNMP PDU field 312. WRAPPER field 311has been modified to include local address information. Wherein the networkmanagement protocol is SNMPv2, WRAPPER field 311 is processed by message forwarding circuit 209 in a similar manner that the COMMUNITY field 302 isprocessed. 
     Wherein data path 225 is implemented as a backplane bus and the controller,trunk and service modules are implemented as bus cards that are connected to data path 225 via expansion slots, the COMMUNITY field 302 may be used to specify the expansion slot number. Alternatively, the local addresses of the controller and service modules may be expressed as a range of I/O addresses. Data path 225 may also be implemented as another network that is not accessible by network manager 130. Depending on the length of localaddresses, local address information may be expressed directly as the localaddress, or indirectly by encoded values. SNMP message forwarding circuit 209 would then include decode circuitry for deriving the correct local address from the encoded value supplied by the COMMUNITY field of the SNMPmessage. 
     FIG. 4 shows a method for forwarding SNMP management messages. At process clock 405, network manager 130 transmits a network message that specifies network switch 200 in its destination address field. The network message includes an SNMP message. Local address information that specifies the ultimate destination of the SNMP message is included in the COMMUNITY field of the SNMP message. 
     Message forwarding circuit 209 receives the SNMP message at process block 410, and checks the COMMUNITY field of the SNMP message to determine the local address information at process block 415. Message forwarding circuit209 forwards the SNMP message to the destination indicated by the local address information. If the local address information specifies SNMP agent206, message forwarding circuit 209 forwards the SNMP message to SNMP agent206 via an internal data path. If the local address information specifies one of the SNMP agents 211, 216, or 221, message forwarding circuit 209 forwards the SNMP message to the indicated SNMP agent using data path 225. 
     At process block 425, the SNMP agent receives and processes the forwarded SNMP message and transmits a responding SNMP message to SNMP message forwarding circuit 209 using the data path from which the initial SNMP message was received from the message forwarding circuit 209. At process block 430, message forwarding circuit 430 forwards the responding SNMP message to network manager 130. According to the SNMP, certain types of SNMP messages may be initiated by SNMP agents, and such SNMP messages may similarly be sent to network manager 130 via SNMP message forwarding circuit 209. 
     In the foregoing specification the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto withoutdeparting from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense.