Network diagnosis apparatus and method

Abstract: The network diagnostic tool for use in determining the position of a workstation (14) on a LAN in which there are timer (20) and echo (22) stations at each end of a multi access bus (12). Signals from the LAN workstations propagate in both directions along the bus. By measuring the time delay between receipt of a packet and its echo at the timer station, the position of the workstation (14) along a bus can be determined.

Description: The present invention relates to network diagnostic apparatus and methods and relates particularly, but not exclusively, to a diagnostic tool for mapping the position of network nodes on a local area network (LAN). It is generally known that the transmission time between a transmission station and respective reception stations of a network may be measured. For example, the invention described in Japanese patent application No. 58-108761, published as JP-A-60-1950, requires a transmitting station to perform a transmission to station Y, which then acknowledges, and then a separate transmission to station Y′, which then also acknowledges. The transmitting station itself determines the time difference between the respective acknowledgements in order to determine the difference in transmission times to the respective stations. However, the technique described in JP-A-60-1950 is not suitable for implementing a network diagnostic tool suitable for mapping the position of network nodes on a local area network since it would require every network station to be capable of calculating or implementing an accurate time interval between packet transmissions and receipts. Such a system is impractical for this purpose and would be unnecessarily expensive. It is instead desirable to use a standard network node which need not perform additional operations exclusively for the purpose of diagnostic measurements. According to the present invention there is provided a network diagnostic apparatus for use in determining the position of a network node along a bus wherein packets from the network node propagate in both directions along the bus at the same time, characterized by: timer means for receiving a packet sent from the network node and propagating in one direction along the bus; packet receiving means for receiving a corresponding packet propagating in the opposite direction along the bus, and for subsequently sending a signal to the timer means indicating receipt by the packet receiving means of said corresponding packet; and means for determining the time difference between the arrival of the packet and the arrival of said signal at the timer means. From the time difference thus determined, the distance between the nodes can be derived. In one embodiment the packet receiving means comprises echo means for receiving said corresponding packet and for subsequently sending an echo packet to the timer means along the bus. Thus this aspect of the present invention involves using the LAN itself to provide communication between the timer means and echo means. The timer means and echo means may comprise time consistent means (as defined hereinafter) for detecting packet arrival times and for identifying the source address of arriving packets. The echo means also preferably comprises means for detecting the transmission time of a packet relative to a previous packet's arrival time. Thus the timer means and echo means may comprise the same hardware components and may each be embodied on computer card. In another embodiment the packet receiving means comprises means for receiving said corresponding packet and for subsequently sending a signal to the timer means via a signal path, such as a cable, separate from said bus. In this case the timer means may include first storage means for storing the time of arrival of the packet at the timer means and second storage means for storing the time of arrival of said signal. The timer means may comprise a microprocessor system which uses the values stored in the first and second storage means to calculate the position of the network node along the bus. In either embodiment the timer means and packet receiving means are preferably connected to respective ends of the bus. The present invention also provides a method for determining the position of a network node on a communications network comprising a bus to which the network node is connected and timer means and packet receiving means connected at spaced locations along the bus, characterized by the steps of: sending a packet from the network node onto the bus so that the packet propagates in both directions along the bus at the same time; receiving the packet propagating in one direction at the timer means; receiving the corresponding packet propagating in the opposite direction at the packet receiving means and subsequently sending a signal to the timer means indicating receipt by the packet receiving means of said corresponding packet; receiving said signal at the timer means; and determining the time delay between receipt of the packet and receipt of said signal at the timer means. The packet receiving means may comprise echo means and said signal may comprise an echo packet sent in said one direction along the bus. The method may then include the step of sending a packet containing echo time information from the echo means to the timer means. In addition, the method may include initially sending a signal, such as a data packet, between the timer means and the echo means for identifying the network address of the network node under investigation. Alternatively the signal may be sent to the timer means via a signal path separate from said bus. Network diagnostic apparatus and methods in accordance with the present invention will now be described by way of example, with reference to the accompanying drawings in which: Figure 1 is a schematic representation of a network diagnostic tool according to the present invention; Figure 2 illustrates the components of the timer and echo devices; Figure 3 is a protocol diagram; Figure 4 is a schematic representation of a network diagnostic tool according to a second embodiment of the present invention; Figure 5 illustrates the components of the packet detect device and the special purpose network node of Figure 4; Figure 6 is a protocol diagram relating to the embodiment shown in Figures 4 and 5. Embodiments of the invention will be described with regard to the IEEE 802.3 network by way of example and it should be understood that the invention is also applicable to other types of network. Figure 1 shows a LAN indicated generally at 10 comprising a shared multi-access bus 12 and several workstations 14, 16, 18, 20 and 22. The workstations 20 and 22 are connected to the ends of the bus 12 and also function as timer and echo stations respectively. The workstation 14 represents the network node whose position is to be determined and the remaining workstations are shown in dotted lines. In broad terms, the diagnostic tool operates as follows: A timer at the timer station 20 is started when a packet from the transmitting work station 14 arrives. This packet will also travel towards the echo station 22, where it will be detected. The echo station 22 will then delay a measured time t3 prior to transmitting a packet towards the timer station 20. When this packet reaches the timer station 20, the timer will be stopped. The time measured is evaluated below: T = (t2 + t3 + t4) - t1 but t4 = t1 + t2 therefore T = 2.t2 +t3 where t3 is measured by the echo station. Hence t2 can be determined and the position of the workstation 14 on the LAN found. Communication between the timer station 20 and echo station 22 is needed in order to synchronise activity eg. as to which is the workstation under investigation. Therefore, a communications protocol is required between the timer and echo stations 20 and 22. Both the timer and echo stations may be computers with special purpose LAN interfaces which also allow the LAN to be used for normal communication. The timer and echo stations 20 and 22 comprise special purpose time consistent matching hardware for identifying packets and for enabling packet transmission after a measured delay. By the 'time consistent matching hardware' is meant that the time taken to detect the arrival of a packet is the same for both sets of hardware and that the echo time can be measured consistently. Since the packet matching and timing functions are common to the timer and echo stations 20 and 22, a common interface card could be designed which performs all the necessary functions of the timer and echo stations. Referring to Figure 2, the timer means in the timer station 20 is indicated generally at 30. The timer means 30 comprises a microprocessor system and network controller 32, a transmit time register 34, a receive time register 36, a counter 38 and an oscillator 40. The timer means 30 communicates with the LAN 10 by means of a network transceiver 42, such as a standard IEEE 802.3 transceiver. Incoming signals are supplied from the transceiver 42 to the microprocessor system 32 via a data receive amplifier and filter 44 and a line decoder 46, such as a Manchester decoder. Incoming signals are supplied from the network transceiver 42 to the receive time register 36 via a carrier or packet detect device 48. Signals are supplied from the microprocessor 32 to the network transceiver 42 via a line encoder 50, such as a Manchester encoder, and a transmitter amplifier 52. For convenience the echo means in the echo station 22 comprises the same components as the timer means 30. Both the timer means 30 and the echo means may form part of a computer card. It will be understood that the timer means will not make use of the transmit time register 34. The "write" signals to the transmit time and receive time registers 34 and 36 must be generated accurately at the point of packet transmission and reception respectively. In operation, the timer and echo stations 20 and 22 implement the algorithms described as follows and as illustrated in Figure 3: Timer Station Software Algorithm 1. Transmit a packet (P CI ) to the echo station 22 identifying the network address of the workstation 14. 2. Wait for an acknowledgement packet (P CA ) from the echo station 22. 3. Wait for a packet (P C ) from the work station 14. 4. Read the receive time register 36 which indicates the time (t rx1 ) of packet receipt to the required accuracy. 5. Wait for a packet (P E ) from the echo station 22. 6. Read the receive time register 36 which indicates the time (t rx2 ) of packet receipt to the required accuracy. 7. Wait for a packet (P T ) from the echo station 22 which carries timing information (t echo ) from the echo station 22 where t echo may be determined in a relaxed time frame. 8. Calculate the physical position of the workstation 14 on the network from the formula: X = (t rx2 - t rx1 -t echo ) v 2 where x is the distance of the workstation 14 from the echo station 22 along the bus 12, and v is the signal propagation velocity on the network. Echo Station Software Algorithm 1. Wait for a packet (P CI ) from the timer station 20 identifying the network address of the workstation 14. 2. Transmit an acknowledgement packet (P CA ) to the timer station 20. 3. Wait for a packet (P C ) from the workstation 14. 4. Read the receive time register 36 which indicates the time (t rx ) of packet (P C ) arrival. 5. Transmit an echo packet (P E ) to the timer station 20. 6. Read transmit time register 34 to determine accurate transmit time (t tx ). 7. Calculated the time taken to echo (t echo ) by t echo = t tx - t rx 8. Transmit a packet (P T ) to the timer station 20 which carries the information t echo . 9. Go to state 1. The system is arranged so that the packet matching functions are carried out without tight time constraints. It will be noted that all packets transmitted from a workstation contain the addresses of their source and destination. In practice, it may be found to be advantageous for the network diagnostic tool to be configured so as to echo all packets received, or all packets received within a selected time period, rather than only to echo packets from the chosen workstation. The timing resolution necessary in the timer means 30 depends upon the speed of propagation on the network and the required accuracy of network node position resolution along the bus. For the IEEE 802.3 network the propagation speed is approximately 0.2 metres per nanosecond. The minimum recommended distance between any two stations is 2.5 metres. In order for the timer means to differentiate between two stations A and B which are the minimum distance apart the time T must be measurable: (The subscript a applies to measurements made in determining the position of station A and subscript b applies to measurements made in determining the position of station B). In order to provide this timing resolution the counter 38 is required to operate at a frequency equal to or greater than 40 megahertz. To provide the necessary accuracy the counter must be accurate to greater than 25 ns over the complete interval timed. The minimum packet length on an IEEE 802.3 network is 596 bits and the transmission rate is 10 Mbits/s. The algorithm requires that a time interval equivalent to the transmission time of a minimum size packet plus upto twice the end to end propagation delay plus the time delay between packet receipt and packet transmission at the echo station be measured. If the time between packet receipt and transmission at the echo station is assumed to be less than 200 microseconds and a 500m network is assumed, this corresponds to a time interval T where Hence, a 40 megahertz crystal oscillator with a frequency accuracy of at least 95 parts per million is required. An increased accuracy could be achieved without increasing the crystal oscillator frequency by averaging over multiple readings. The above embodiment provides a network diagnostic tool for ascertaining the position of a network node along a multi-access bus without the need for any external connections to the network. In the embodiment described above it is the timer station which indicates which workstation is under investigation. An alternative approach would be to configure the system so that the diagnostic tool can be used in response to an initiating packet from a workstation. A second embodiment of the present invention will now be described with references to Figures 4 to 6. Figure 4 shows a LAN 100 comprising a multi-access bus 102 and network nodes 104 and 106. Packets from the network nodes travel in both directions along the multi-access bus 102. A packet detect device 108 is connected to the first end of the bus 102 and a timer device in the form of a special purpose network node 110 is connected to the other end of the bus 102. A cable 112 interconnects the packet detect device 108 and the special purpose network node 110. In broad terms, the network diagnostic tool depicted in Figure 4 operates as follows. When a packet is detected by the packet detect device 108, a signal is sent from the packet detect device 108 to the special purpose network node 110 via the cable 112. The special purpose network node 110 logs the time of arrival (T1) of the packet. The corresponding packet which has travelled in the other direction along the multi-access bus 102 is detected by the special purpose network node 110 and its time of arrival (T2) is also logged. An initial calibration is required to take account of the time which elapses between both: a) receipt of a packet by the network receiver 114 and consequent clocking of the register 122 (tp) , and b) receipt of a packet by the network receiver 132 and consequent clocking of the register 124 (tq). The distance (x) of the network node from the end of the bus 102 can then be calculated as follows: x = [(T₂ - t q ) - (T₁-t p )].V Where V is the propagation speed on the network. The sign of x indicates with respect to which end of the bus 102 the calculated distance is to be used. Referring now to Figure 5, the packet detect device 108 comprises a network receiver 114, a packet detector 116 and a signal transmitter 118. The special purpose network node 110 comprises a microprocessor system 120 which receives timing data from two receive time registers 122 and 124. An oscillator 126 provides clock signals to a counter 128 which is connected to the registers 122 and 124. A signal detector 130 detects signals sent from the signal transmitter 118 via the cable 112. A network receiver 132 receives packets from the bus 102 and sends these to a packet detector 134 connected to the register 124 and also to an amplifier and filter 136. The amplifier and filter 136 is connected to a line decoder 138 which supplies signals to the microprocessor system 120. The operation of the network diagnostic tool will now be described with reference to Figure 5 and to the protocol diagram of Figure 6. A packet emitted from the network node 104 is received by the network receiver 114 which supplies signals to the packet detector 116 which provides a signal pulse which is amplified by the signal transmitter 118 to produce a signal which indicates the arrival of a packet. This signal travels via the cable 112 to the signal detector 130 of the special purpose network node 110 which causes the register 122 to latch the value of the counter 128. The corresponding packet arriving at the second end of the bus 102 is transferred via the network receiver 132 to the packet detector 134 which produces a signal causing the register 124 to latch the value of the counter 128. The amplifier and filter 136 transfer signals from the network receiver 132 to the microprocessor system 120 via the line decoder 138 where the transmitted packet data will be recovered. The microprocessor system 120 identifies the network node source address supplied in the data packet and reads the contents of the registers 122 and 124 after a delay which is longer than the network propagation delay. In effect the microprocessor is alerted to the arrival of a packet at the second end of the bus 102 soon after the packet begins to arrive and then waits for the contents of the registers 122 and 124 to change. The position of the network node originating the transmitted packet is calculated as follows: x = [(T2 - t q ) - ((T1-t p )]. V Where V is the propagation speed on the network and t p and t q are as explained above. The sign of the result indicates whether the calculated distance is with respect to the first or the second end of the bus 102. In practice, the time taken to transmit or receive a packet is much greater than the propagation time along the network. This means that there is no real chance of spurious measurements being made as a result of confusion between different packets sent by a single network node. On networks such as the IEEE 802.3 network which use a carrier sense multiple access method to control access to the network, packet collisions can occur. Measurements obtained after a collision is detected would be rejected. An alternative method for use on different types of networks would be to take several measurements for a particular network node and to discount any measurements which differ markedly from the rest. Generally, measurement accuracy and reliability may be improved by taking multiple readings and averaging these. It will be understood that the present invention is applicable to any network or part of a network comprising a continuous multi-access bus.

Claims: A network diagnostic apparatus for use in determining the position of a network node (14,104) along a bus (12,102) wherein packets from the network node propagate in both directions along the bus at the same time, characterized by: timer means (20,110) for receiving a packet sent from the network node and propagating in one direction along the bus; packet receiving means (22,108) for receiving a corresponding packet propagating in the opposite direction along the bus, and for subsequently sending a signal to the timer means (20,110) indicating receipt by the packet receiving means of said corresponding packet; and means for determining the time difference between the arrival of the packet and the arrival of said signal at the timer means (20,110). A network diagnostic apparatus according to claim 1 wherein said packet receiving means comprises echo means (22) for receiving said corresponding packet and for subsequently sending an echo packet to the timer means along the bus (12). A network diagnostic apparatus according to claim 2 wherein the timer means (20) and echo means (22) comprise time consistent means (30) for detecting packet arrival times and for identifying the source address of arriving packets. A network diagnostic apparatus according to claim 2 or claim 3 wherein the echo means (22) comprises means (34) for detecting the transmission time of a packet relative to a previous packet's arrival time. A network diagnostic apparatus according to claim 4 wherein the echo means (22) comprises means for sending a packet containing echo time information to the timer means (20). A network diagnostic apparatus according to any one of claims 2 to 5 wherein the timer means (20) and echo means (22) comprise the same hardware components. A network diagnostic apparatus according to any one of claims 2 to 6 wherein the timer means (20) and echo means (22) are each embodied on a computer card. A network diagnostic apparatus according to any one of claims 2 to 7 wherein the echo means (22) comprises means for echoing all packets which it receives or all packets which it receives during a selected time period. A network diagnostic apparatus according to claim 1 wherein said packet receiving means comprises means (108) for receiving said corresponding packet and for subsequently sending a signal to the timer means (110) via a signal path (112) separate from said bus (102). A network diagnostic apparatus according to claim 9 wherein the timer means (110) comprises first storage means (124) for storing the time of arrival of the packet at the timer means and second storage means (122) for storing the time of arrival of said signal. A network diagnostic apparatus according to claim 10 wherein the timer means (110) comprises a microprocessor system (120) for utilizing the values stored in the first and second storage means (124,122) to calculate the position of the network node (104) along the bus (102). A network diagnostic apparatus according to any one of the preceding claims wherein the timer means (20,110) and packet receiving means (22,108) are connected to respective ends of the bus (12,102). A network diagnostic apparatus according to any one of the preceding claims including means for making several time difference measurements, means for comparing said measurements and means for discarding any measurement which differs markedly from the majority of the measurements. A method for determining the position of a network node (14,104) on a communications network (10,100) comprising a bus (12,102) to which the network node is connected and timer means (20,110) and packet receiving means (22,108) connected at spaced locations along the bus, characterized by the steps of: sending a packet from the network node (14,104) onto the bus (12,102) so that the packet propagates in both directions along the bus at the same time; receiving the packet propagating in one direction at the timer means (20,110); receiving the corresponding packet propagating in the opposite direction at the packet receiving means (22,108) and subsequently sending a signal to the timer means (20,110) indicating receipt by the packet receiving means of said corresponding packet; receiving said signal at the timer means (20,110); and determining the time delay between receipt of the packet and receipt of said signal at the timer means (20,110). A method according to claim 14 wherein said packet receiving means comprises echo means (22) and said signal comprises an echo packet sent in said one direction along the bus (12). A method according to claim 15 further comprising sending a packet containing echo time information from the echo means (22) to the timer means (20). A method according to claim 15 or claim 16 comprising initially sending a signal between the timer means (20) and echo means (22) identifying the network address of the network node (14). A method according to claim 14 wherein said signal is sent to the timer means (110) via a signal path (112) separate from said bus (102).

Inventors: BURNS ROLAND JOHN, RILEY MARTYN JAMES, BURNS, ROLAND JOHN, RILEY, MARTYN JAMES
Applicants: HEWLETT PACKARD CO, HEWLETT-PACKARD COMPANY
Application year: 1989
Main classification: H04L12
IPC codes: H04L12