Frame routing method for communication networks

Abstract: To improve the throughput of bridges in a multiple ring token ring network, External Copy Hardware (ECH) (120) is provided for each source routing bridge (118) to determine when a frame on a given ring (111) is to be copied as a candidate for forwarding to another ring (222) by a given bridge (118). Each frame may contain a Routing Information Field (RIF), which the ECH (120) searches for Segment Numbers in the RIF that are compared with host processor developed Primary Segment Numbers (each representing a primary ring number and a bridge number) and Secondary Segment Numbers (each representing an alternate ring number and a bridge number). The ECH (120) uses the results of the comparisons along with a look-up table and a Routing Control Word (also present in the RIF) to determine if the frame under consideration is to be copied by a Protocol Handler (which interfaces with the ECH) and forwarded by the corresponding bridge (118) to another ring. During the process of making a copy or non-copy decision, the frames are scanned unidirectionally, and the decision is made "on the fly", thereby increasing operation speed.

Description: This invention relates to a method of routing frames in a communications network system. The invention has a particular application to a method for forwarding data frames from one token ring network to another token ring network. Token ring networks are well known in the art and are the subject of IEEE Standard No. 802.5. The document IEEE Network, Vol.2. No.1, January 1998, pages 25-32, R C Dixon et all: "Source Routing Bridges : Addressing, Bridging and Source Routing", discloses features of bridges between networks in a source routing multi-network system. The document describes a system wherein transmitted frames may include a routing information field which includes a routing control word and routing information consisting of successive pairs of network numbers (referred to as "segment numbers") and bridge numbers. The routing information is scanned at a bridge to determine whether a received frame is to be forwarded by the bridge. It is an object of the present invention to provide a method of routing frames in a communications network system wherein routing can be achieved at a high speed. Therefore, according to the present invention, there is provided a method of routing data frames in a communications network system, as set forth in claim 1. It will be appreciated that a method according to the invention is applicable to source of the frame, such as a workstation attached to a network, determines where the frame is to be routed. Thus, an advantage of a method according to the invention is that it is compatible with networks using a source routing algorithm. A further advantage is that the method is compatible with a standard protocol handler. One embodiment of the present invention will now be described by way of example, with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram of a multiple ring, token ring network with source routing bridging. Figure 2 is a schematic diagram of the presently inventive External Copy Hardware (ECH). Figure 3 is a frame format usable with the present invention. Figure 4 is a format for a Routing Information Field of a frame. Figure 5 is a format for a Routing Control Word in the Routing Information Field. Figure 6 is a table for directing the comparison between Primary Segment Numbers and Secondary Segment Numbers, and other Segment Numbers. Figure 7 is a table for directing the ECH to copy (for forwarding through the corresponding bridge) or not copy (for remaining on the current ring) a frame under consideration. In Figure 1 a multiple ring token ring network 100 is shown capable of communication between the two rings shown. Although only two token rings are shown, it should be understood that any number of token rings may be included in the network without affecting the nature of the present invention. Briefly described, a token ring 111 has workstations (labeled WS) 104-108 attached thereto, and functions in a manner well known in the art. Another ring 222 is also shown, and has workstations 112-116 attached thereto. For routing of information between the rings 111 and 222, a bridge 118 labeled "Bridge A" is attached therebetween. Also, two ECH boards 120 and 122 and two token ring hardware boards (TRHW) 121 and 123 are attached to the bridge 118, which boards 120 and 122 decide when a frame is to be copied by the boards 121 and 123, and forwarded by the bridge 118. The bridge 118 contains a token ring interface which includes bridge software for performing the actual bridging. The token ring hardware 121 and 123 contains a Protocol Handler or Adapter for each token ring, which controls the token ring (but not bridging) operation according to the communication system protocol (the specific rules of communication), and copies frames which are a candidate for bridge forwarding when instructed to do so by the corresponding ECH board. In the preferred embodiment, the Protocol Handler is subsumed by the commercially available TMS380 chip set, made by Texas Instruments for implementation of the IEEE Standard Number 802.5 Token Ring Protocol. The bridge 118 follows the IEEE 802.5 Protocol, and is therefore easily constructed with reference to that standard by one skilled in the art. The present invention is adaptable to operate with other chip sets and other protocols. To facilitate a copy decision, the present embodiment defines for each ECH board, a Primary Segment Number (PSN) representing a primary ring number plus the corresponding bridge number, and a Secondary Segment Number (SSN) representing an alternate ring number plus the corresponding bridge number. Thus it is shown in Figure 1 that the PSN for the ECH 120 is 111A, meaning that the primary ring for the ECH 120 is ring 111, while the corresponding bridge is bridge A. The SSN designation of 222A for the ECH board 120 means that the alternate ring number is ring 222 and the bridge is bridge A. From the above it should be understood that the PSN and SSN for the ECH board 122 are 222A and 111A, respectively. The use of the PSNs and SSNs will be detailed later. The frames in the present communication system can either be of the broadcast or non-broadcast type. Broadcast frames are receivable by all of the workstations WS in a communication system. Typically, a source station sending a broadcast frame seeks information from certain other workstations. The other workstations "listen" to determine if they are the intended recipients of the request for information. The appropriate receiver stations attach the requested information to the token frame and return it back to the source workstation. For broadcast frames, the bridges must determine the appropriate routing between rings and insert that information in the frame prior to forwarding. Non-broadcast frames are frames where the routing is predetermined by the source. Therefore, no routing information need be inserted by the bridges. The categorizing of frames as either broadcast or non-broadcast is conventional terminology in the computer networking field. In general, the communication system 100 operates as follows. A workstation WS (106 for example) attached to token ring 111 decides to send a frame of information which is to be routed to ring 222 and received by workstation 116. The WS 106 waits for a free token and attaches the frame to it. The frame is in standard form and includes a routing information field having a routing control word (all according to IEEE Standard Number 802.5, to be discussed later). The ECH receives the frame just as a workstation attached to the ring 111 and must decide, based upon the information in the frame whether to forward the frame to the Protocol Handler in the TRHW 121 for copying. If the ECH decides that the frame is not to be copied by the Protocol Handler, the frame will remain on ring 111, and will not be forwarded to ring 222 by the bridge 118. If the ECH decides that the frame is a proper candidate for forwarding, then it instructs the Protocol Handler to copy the frame so that the bridge may forward it to the ring 222. Once the frame is forwarded to the ring 222 it continues around the ring 222 in a manner well known in the art. After the WS 116 receives the frame, it sends an acknowledgment frame which is eventually received by the ECH 122, which then must decide based upon the frame information whether to instruct the TRHW to copy the frame in order that the bridge 118 can forward the acknowledgment frame to ring 111. The present invention is then a method for deciding when a frame is to be copied by a Protocol Handler as a candidate for forwarding by the bridge, and involves an arrangement of the ECHs including an algorithm for making copy decisions based upon' a unidirectional parsing of the frames while comparing frame information to the PSNs or SSNs. The novel PSN and SSNs represent for each ECH board, a ring from whence the frame under consideration came plus the bridge between that ring and the ring on the other side of the bridge, and the SSN represents the ring on the other side plus the same bridge. As will be more fully described later, in conjunction with Fig. 4, each frame includes a Routing Information Field with the segments of the route that the frame is to take to its destination (the segments referred to as "Segment Numbers"). Each Segment Number corresponds to the route across one bridge. Thus, when a frame arrives at the ECH 120, the PSN for the ECH 120 is compared to each Segment Number to see if the bridge 118 is on the route, and if it is, the frame is copied. After the message is received at its destination and an acknowledgment is sent, the acknowledgment frame has the same Segment Numbers. However, since the route is reversed, when the frame arrives at ECH 122, it is the SSN rather than the PSN that is compared to each Segment Number to see if the bridge 118 at ECH 122 is on the route. Turning to Figure 2, External Copy Hardware (ECH) 200 is shown. The ECH performs the functions described in connection with Figure 1 for the ECH boards 120 and 122, plus additional functions in accordance with the present invention to be described shortly. In the preferred embodiment, two ECH boards are present for every bridge in the system. A bus 202 transports two bytes LADO-15 of a frame at a time from an associated token ring. A Frame Parsing State Machine and Control Logic Unit (FPSM) 204 receives the frames on the bus 202. The FPSM 204 is connected' to a Bi-Directional Control Logic Unit (BDCL) 206 and latch control unit 208, both to be explained later. The frame format is shown in Figure 3, with a typical frame designated generally as 300. The frame 300 contains 1 word (2 bytes) of an access control/frame control field used to manage the physical layer protocol, 3 words representing a destination address 304 (a unique 48-bit value assigned to each workstation ring interface board in accordance with IEEE standards) for the frame, 3 words representing a source address 306, the most significant bit of which indicates the presence (1) or non-presence (0) of a Routing Information Field (RIF) 308, and an information field 310, variable in length which contains the actual data to be transmitted. The RIF format 308 is shown in detail in Figure 4. It contains a Routing Control Word (RCW) 402 and up to eight Segment Numbers 404-418. Each Segment Number represents a ring number and a bridge number. Collectively, the Segment Numbers specify all of the forwarding paths for the frame under consideration. This is especially important where the communication system has several token rings. The RCW 402 is only used by the ECH when present in the RIF, as indicated by the most significant bit of the source address. The format for the RCW 402 is shown in Figure 5. It contains three broadcast bits BBB numbered 502, the most significant of which determines whether the frame is a broadcast frame, five bits LLLLL numbered 504 which determine the length of the RIF (indicates the number of bytes in the RIF), a direction bit D numbered 506 for determining the direction of scan of the RIF, with "0" indicating conventional scanning. of the Segment Numbers and "1" indicating scanning of the Segment Numbers in reverse order, two bits LF numbered 508 for indicating the maximum size information field which may be transmitted, and three reserved bits RRR numbered 510. It should be understood that the token ring frame format (Figure 3), the routing information field format (Figure 4), and the routing control word format (Figure 5, are in accordance with the IEEE Standard Number 802.5. The combination of the bits in the RCW determine whether the ECH compares the PSN or the SSN with the Segment Numbers in accordance with a table in Figure 6. The SSN rather than the PSN in specified situations is used when the scanning order of the Segment Numbers is reversed such as when an acknowledgment frame is sent by a destination workstation. The reading of the Segment Numbers is reversed since the forwarding path is reversed. In that situation, the PSN used to make the copy/non-copy decision for the initial frame equals the SSN used to make the copy/non-copy decision for the acknowledgment frame, so that the bridge copying and forwarding hardware acts identically in both cases. Referring to Figure 6, if the frame is not a broadcast frame, and the frame is to be scanned from left to right, for example, the PSN is to be compared with the Segment Numbers. The table in Figure 7, which subsumes the table in Figure 6, determines whether the ECH will copy the frame under examination, and will be discussed in more detail later. Returning to Figure 2, control lines 210-220 are connected between the Protocol Handler and units 204 and 206. The FPSM 204, a state machine connected to control logic, has flip-flops, the outputs of which determine the status of a frame parsing process. For example, the state of the FPSM 204 indicates when to look for a RIF in a frame, and when a RCW is to be latched. The control logic outputs the signals RCICLK, ADEQ and MRESET\ in response to the state. Also, when a frame is determined to have no RIF, the state machine is reset, otherwise the state changes and is reset after the MATCH\ and FAIL\ signals are produced. Clocking signals CLK1 and CLK2 on input lines 210 and 212, respectively, control the timing of the FPSM 204. The signal LRNW on input line 214 represents either a memory read (logical 1) or memory write (logical 0) operation. The signal LBGRP\ on input line 216, which is active low, indicates when the Protocol Handler is executing a memory bus cycle. The signals MATCH\ and FAIL\ on lines 218 and 220, respectively, when received from the Protocol Handler by the BDCL 206 cause resetting of the FPSM 204 and an algorithm hardware and ECH control unit (AHECHC) 236 (via the MRESET\ signal on line 230). When the aforementioned units are reset, the FPSM 204 begins receiving frame information on the bus 202 and sends a logic high ADEQ signal on line 228 to the AHECHC 236. The signal ADEQ is placed in the logic high state for the receipt of each word by the ECH in the token ring frame. While this is occurring, the FPSM 204 unidirectionally scans (or "parses") the frame for the source address 306 in the frame. The first bit of the source address indicates whether an RIF is present in the frame. If no RIF is present, the FPSM 204 automatically defaults to a No Copy mode and outputs the signal FAIL\ indicating the same on line 220 to the Protocol Handler. When an RIF is present in the frame, further operations must occur to determine whether to copy the frame for forwarding. When the first bit of the source address is a logic one, the presence of an RIF is indicated, and the signal RCICLK on 226 is made active once the receipt of the RCW begins. Also, the signal ADEQ is made active while the bytes of the RIF are being received. The RCW is latched into the RCW latch 238 while the signal RCICLK is active. As discussed previously, the B (most significant broadcast bit) and D bits in the RCW are used by the AHECHC 236 (in accordance with the table in Figure 6) to output a select signal on line 240 which indicates to a 2:1 multiplexer (MUX) 256 whether the PSN (stored in a PSN register 246) or the SSN (stored in an SSN register 248) are to be compared with the successive Segment Numbers. The Segment Numbers are successively latched into a data latch 250 under the control of an enabling signal output by the AHECHC 236 on line 242. The PSN and SSN registers 246 and 248 are controlled by the PSN, SSN latch control 208, which sends enabling signals to either the PSN or SSN register (for loading with the PSN and SSN, respectively) when the signal LRNW is low and an address being presented on the bus 202 matches the address of a corresponding register. The contents of the registers 246 and 248 are also available on the input lines 252 and 254 of the multiplexer 256. The comparison between the Segment Numbers and the PSN or SSN is performed by the comparator 262, which outputs the result of that comparison in the form of a signal DATEQ via line 244 to the AHECHC 236. When equivalence is determined by the comparator 262 DATEQ is driven high, while non-equivalence drives DATEQ low. The AHECHC uses the value of DATEQ and the RCW in accordance with the table in Figure 7 to make a copy decision. The table in Figure 7 along with the other decision logic in the AHECHC is implemented with logic gates, and forms a look-up table. For example, if the frame is not a broadcast frame (signified by a 0 in the "B" column) and the frame scanning direction is from left to right (indicated by the 0 in the "D" column) the multiplexer 256 will select the PSN register 246 to be compared with the Segment Numbers from the data latch 250 in the comparator 262. For the specific case above the AHECHC 236 will drive the signal COPY on line 234 high, indicating a copy decision whenever the comparator signifies a match, and conversely, COPY will be driven low, indicating a no-copy decision when no match is found. When all of the Segment Numbers have been compared by the comparator 262 the AHECHC 236 outputs a logic high version of the signal DONE on line 232, which causes the BDCL 206 to convert and output the signal COPY in the form of the MATCH\ signal if a copy decision is made, and the FAIL\ signal if a no-copy decision is made. All parsing of the frame information is unidirectional. The timing of the BDCL 206 is controlled by the clock signals CLK1 and CLK2 received via the FPSM 204. Also, the BDCL 206 has tri-state output devices which communicate MATCH\ and FAIL\ signals to the Protocol Handler when the signal LRNW (received via the FPSM 204) is low, and are inhibited from sending the MATCH\ and FAIL\ signals when LRNW is high. As another example of the process, again refer to Figure 7. If the frame is a broadcast frame and the scanning is from left to right, the Segment Numbers are compared with the SSN and a copy decision will be made when the Segment Number and the SSN do not match, while a no-copy decision will be made when the SSN and Segment Number match. All copies are performed by the Protocol Handler in a manner known by those skilled in the art, and thus will not be detailed here. In accordance with the foregoing, the present invention allows on-the-fly copy and non-copy decisions. To summarize, when a source station sends a frame which must be forwarded from one token ring to another token ring, the frame is presented to the ECH along with the corresponding PSN and SSN for storage in the ECH PSN and SSN registers. The ECH parses the frame for the RIF from which a RCW is obtained. The RCW indicates whether the Segment Numbers (information indicating the frame forwarding paths) are to be compared to the PSN or the SSN. The ECH parses through the Segment Numbers in one direction without needing to store them, while comparing each Segment Number to the PSN or SSN as dictated. The results of each comparison are interpreted in accordance with the Table in Figure 7 to indicate via MATCH\ and FAIL\ signals whether the Protocol Handler is to copy the frame under consideration. No Segment Numbers need be stored after their comparisons since the comparisons are contemporaneously made, and a copy/non-copy decision need not depend on a previous comparison. Variations and modifications to the present invention are possible. For example, the method is not restricted to use with token ring networks, and may be used with other types of networks which use source routing algorithms. Also, one ECH circuit rather than two can be used for each bridge with some modifications to the source routing algorithm. Additionally, the method need not be confined to being implemented on a pluggable board, but may also be implemented using, inter alia , discrete logic, Application Specific Integrated Circuit (ASIC) and Programmable Array Logic (PAL) technologies.

Claims: A method of routing data frames (300) in a communications network system (100), including the steps of: defining segment numbers (404-418) each including a network identification number (111, 222) and a bridge number (A); defining at least a primary segment number (PSN) including a primary network number (111) and a bridge number (A) corresponding to each bridge (118); defining a routing information field (308) for inclusion in each frame (300), including a routing control word (402) and at least one segment number (404-418); and scanning each frame (300) and deciding whether to copy a frame (300) by interfacing means (121) for forwarding through a bridge (118) based on comparisons between said primary segment number (PSN) and said segment numbers (404-418), characterized in that said scanning and deciding step is additionally based on the step of accessing information in a look-up table, based on information in said routing control word (402) which defines whether or not said frame is a broadcast frame and further defines the scanning order of said segment members (404-418). A method according to claim 1, characterized by the steps of defining a secondary segment number (SSN) including a secondary network number (222) and a bridge number (A) corresponding to each bridge, and in that said scanning and deciding step includes comparisons between said secondary segment numbers (SSN) and said segment numbers (404-418). A method according to claim 1 or claim 2, characterized in that the scanning in said scanning and deciding step is unidirectional, and said method is carried out on-the-fly. A method according to any one of the preceding claims, characterized in that said networks (111,112) are of the token ring type.

Inventors: HESKE III THEODORE, KULIK PETER JOHN, HESKE III, THEODORE, KULIK, PETER JOHN
Applicants: NCR INT INC, NCR INTERNATIONAL, INC.
Application year: 1990
Main classification: H04L12
IPC codes: H04L12