Abstract:
A method and system for discovering peer node information at a path terminating equipment node in a computer network are disclosed. The method generally includes transmitting from an originating node to a peer node a request for information in at least one SONET path overhead byte and receiving the requested information from the peer node at the originating node in the path overhead byte.

Description:
BACKGROUND OF THE INVENTION 
   The present invention relates generally to communication networks, and more specifically, to a method and system for finding network neighbor information. 
   Communication in a computer network involves the exchange of data between two or more entities interconnected by communication links and subnetworks. Communication between computers within the network is made possible with the use of communication protocols, which govern how computers exchange information over a network. In order for proper operation of the protocols, it is important that the devices in the network are properly interconnected so that error free communication can occur across the network. 
   SONET and SDH are a set of related standards for synchronous data transmission over fiber optic networks. SONET is short for Synchronous Optical Network and SDH is an acronym for Synchronous Digital Hierarchy. A SONET system consists of switches, multiplexers, and repeaters, all connected by fiber. The connection between a source and destination is called a path. The Bellcore GR-253 standard defines SONET, which uses a layered architecture of Path, Line, and Section Overhead (POH, LOH, and SOH). The section, line, and path overheads contain a profusion of bytes used for operations, administration, maintenance, and provisioning (OAM&amp;P). 
   Switches and other components within the SONET/SDH system are configured to have multiple cable connections (e.g., MGX8850 Multiservice Wide-Area Edge Switch, available from Cisco Systems Inc.). It is important that all of the cables hook up to the correct node, slot, backcard (bay), and line. Since there are often many connections, it is difficult to find a problem or check that all of the connections are correct when cables are moved or replaced. 
   The corresponding lines from the active and standby cards are hooked to the intended node, bay, and line on the far end. At a customer site, the problem often becomes compounded when many of the nodes do not exist in the same Central Office (or other location) and traverse through patch panels. 
   There are currently some layer 3 (network) and layer 4 (transport) protocols that provide peer node information, however, these all have limitations. One such protocol is ILMI (Interim Local Management Interface). ILMI allows management information to be exchanged between management entities within peers. The information is exchanged over a direct encapsulation of SNMP (Simple Network Management Protocol). ILMI, however, needs to be enabled at both ends. Also, the end points of ILMI need not be adjacent next hop nodes. ILMI also requires preset configurations on the nodes. PNNI (Private Network-to-Network Interface) is a suite of network protocols that can be used to discover an ATM network topology, create a database of topology information, and route calls over the discovered topology. PNNI has limitations similar to those described above for ILMI. Furthermore, neither of these protocols is able to run on standby cards. For example, when 1+1 APS is provisioned in card redundancy, the same data is propagated on the lines connected to the active and standby cards. Thus, protocols such as PNNI or ILMI are not useful in determining the neighbor information for the standby card. 
   Accordingly, there is a need for a method and system for easily determining where a given cable is connected to identify the peer node and other connection information. 
   SUMMARY OF THE INVENTION 
   A method and system for discovering peer node information at a path terminating equipment node in a computer network are disclosed. 
   The method generally includes transmitting from an originating node to a peer node a request for information in at least one SONET path overhead byte and receiving the requested information from the peer node at the originating node in the path overhead byte. 
   The information may include, for example, the name of the peer node, slot, bay, or line that the originating node is connected. The path overhead byte is preferably the F2 user channel byte. 
   In another aspect of the invention, a computer program product generally includes code that transmits from an originating node to a peer node a request for information in at least one SONET path overhead byte and code that receives the requested information from the peer node in the path overhead byte. The product further includes a computer-readable storage medium for storing the codes. 
   A system for discovering peer node information at a path terminating equipment node in a computer network generally comprises a processor operable to transmit a request for information in at least one SONET path overhead byte and receive the requested information from the peer node in the path overhead byte. The system also includes memory for at least temporarily storing the information. 
   The above is a brief description of some deficiencies in the prior art and advantages of the present invention. Other features, advantages, and embodiments of the invention will be apparent to those skilled in the art from the following description, drawings, and claims. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a diagram of a plurality of interconnected nodes within a computer network system. 
       FIG. 2  is a flowchart illustrating a process for discovering network neighbor information. 
       FIG. 3  is a diagram illustrating an example of a computer system that can be utilized to execute software of an embodiment of the present invention. 
   

   Corresponding reference characters indicate corresponding parts throughout the several views of the drawings. 
   DETAILED DESCRIPTION OF THE INVENTION 
   The following description is presented to enable one of ordinary skill in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. The general principles described herein may be applied to other embodiments and applications without departing from the scope of the invention. Thus, the present invention is not to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail. 
   The invention operates in the context of a data communication network including multiple network elements. Some of the nodes in a network that employs the present invention may be network devices such as routers and switches. Some of the nodes may be, for example, suitably configured switches such as those available from Cisco Systems, Inc. of San Jose, Calif. The system may be used in any node which is a path terminating equipment (PTE) to find the final PTE connection at the other end. 
   The method and system of the present invention use an F2 Path Overhead (POH) user data channel of SONET to transmit and receive peer node information. Since SONET is synchronous, frames are emitted whether or not there is any useful data to send. The first column of user data (called the synchronous payload envelope (SPE)) is the path overhead (i.e., header for the end-to-end path sublayer protocol). Path overhead is associated with the path layer and is carried from end-to-end (i.e., source to destination) and is used by the path terminating equipment (PTE). Path overhead contains nine bytes, one in each row in the first column of the SPE. The POH column includes the F2 User Channel. The path user channel byte provides a 64 Kbps user channel which can be used in a proprietary fashion between two PTEs. 
   The invention uses a layer 1 (physical) and layer 2 (data link) protocol to discover neighbor information for SONET/SDH and STM (synchronous transport module) PTE. As described further below, the system sends a request from an originating node to a peer node and receives a response containing information that can be used by the originating node to find out information about its neighbor node. The information transferred between nodes may include, for example, node name, slot, bay, node name, slot, bay, line, or node or port configurations such as number of connections or bandwidth of the port. 
     FIG. 1  is a block diagram illustrating a plurality of interconnected nodes within a computer network system. Node A, slot  1 , bay  1 , line  1  (denoted as  1 . 1 . 1 ) is connected to node B ( 5 . 2 . 1 ). Node A is also connected to Node C and Node D (which are also peer nodes to Node A). Node B is also connected to Node E. It is to be understood that the network shown in  FIG. 1  is merely an example. Each node may be connected to any number of nodes and the network may have many different configurations. Only one of the end nodes needs to run the protocol described herein. The other end node only needs to understand the protocol. 
     FIG. 2  is a flowchart illustrating a process for using the system to discover neighbor information. As shown in the block diagram of  FIG. 1 , Node A and Node B are neighbor nodes. In order to find out information about its neighbor, node A transmits a request from Node A to Node B (step  26 ). Upon receipt of the request at Node B (step  28 ), Node B processes the request (step  30 ). Node B then transmits the requested information on the F2 path overhead byte to Node A (step  32 ). After transmission of all necessary information, Node B sends and End of Message (EOM) in the F2 byte. Node A receives the information sent by Node B including the EOM (steps  34  and  36 ). The request format may include the following fields, for example: Code; Command; Node; Slot; and Line. Each of the fields may be a byte in length except for the Code field, which is preferably 2 bits. The Code field identifies the source of message and the type of command (i.e., request or response). For example, the Code field may use the following representation of bits: Request 00; Response 01; Hello 10; Unused 11. The Command field determines the type of request such as node information, bandwidth information, etc. 
   The values received in the response may be used to determine if the lines from the active card and standby card are connected to the next PTE correctly (step  38 ). The Response may include the same fields described above for the Request. The Command field of the Response will be all zeros. 
   A protocol of the invention may be run on active or standby cards. If the protocol is run on the active card, the protocol is triggered to also run on the standby card. The protocol may be used as a neighbor discovery protocol and can be used in cases where traditional protocols (e.g., ILMI or PNNI) are not available. For example, the protocol may be used for ‘keep-alive’ messaging. The system may also be used for rerouting for legacy products that do not support any sophisticated routing functionality. 
   In one embodiment, the system may be implemented in firmware inserted into programmable read-only memory and run on a card in a chassis.  FIG. 3  shows a system block diagram of system that may be used to execute software (or firmware) of an embodiment of the invention. The computer system may include subsystems such as a central processor  40 , system memory (including read-only memory for firmware)  42 , removable storage  46  (e.g., CD-ROM drive), and a hard drive  44  which can be utilized to store and retrieve software programs incorporating computer code that implements aspects of the invention, data for use with the invention, and the like. The computer readable storage may also include flash memory, or system memory. Other computer systems suitable for use with the invention may include additional or fewer subsystems. For example, the computer system may include more than one processor  40  (i.e., a multi-processor system) or a cache memory. 
   The system bus architecture of the computer system is represented by arrows  58  in  FIG. 3 . However, these arrows are only illustrative of one possible interconnection scheme serving to link the subsystems. For example, a local bus may be utilized to connect the central processor  40  to the system memory  42 . The components shown and described herein are those typically found in most general and special purpose computers and are intended to be representative of this broad category of data processors. The computer system shown in  FIG. 3  is only one example of a computer system suitable for use with the invention. Other computer architectures having different configurations of subsystems may also be utilized. 
   Communication between computers within the network is made possible with the use of communication protocols, which govern how computers exchange information over a network. The computer may include an input/output circuit used to communicate information in appropriately structured form to and from parts of the computer and associated equipment. Preferably, each of these interfaces includes a plurality of ports appropriate for communication with the appropriate media, and associated logic, and in some instances memory. The associated logic may control such communication intensive tasks as packet integrity checking and media control and management. 
   As can be observed from the forgoing, the present invention provides numerous advantages. For example, the invention includes a layer 1 and 2 protocol and as such does not need any preset configuration as required by layer 3 and 4 protocols. Furthermore, the protocol is designed to determine the next hop node information, unlike other protocols which typically execute end-to-end or need to be configured on both ends. As described above, the system of the present invention can be run on standby or active cards, whereas, layer 3 and 4 protocols do not run on standby cards. 
   Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations made to the embodiments without departing from the scope of the present invention. Accordingly, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.