BACKGROUND OF THE INVENTION This invention relates generally to interfaces on a network device.
Network devices have physical interfaces that are subject to failure. When such an interface fails, a network device can be cut-off from the network. This is particularly problematic in the case of a router, where failure of a single physical interface can make a whole branch of the network inaccessible to other devices.
SUMMARY OF THE INVENTION In one aspect of the invention, a device is switched from a first physical interface on the device (for example, a failed interface) to a second physical interface on the device based on information in an interface redundancy group. The information in the interface redundancy group identifies the first physical interface as a primary interface for the device and the second physical interface as a secondary interface for the device.
The foregoing aspect of the invention may include one or more of the following features/functions.
The interface redundancy group may include information defining the primary interface for the device and one or more secondary interfaces for the device. An event may be detected at the first physical interface, and switching may be performed in response to the event. The event may comprise a failure of the first physical interface. The first physical interface may be associated with a driver and a signaling stack, and the failure of the first physical interface may comprise a failure of the driver and/or the signaling stack. The driver and the signaling stack may be monitored in order to detect failures therein. The event may comprise receipt of a slot failure at the first physical interface.
Prior to switching, the second physical interface may operate in a passive mode during which the second physical interface is dormant. Prior to switching, the second physical interface may operate in an active mode during which the second physical interface is communicating over a network. The first physical interface may support one or more network layer interfaces. Following switching, the second physical interface may support the one or more network layer interfaces formerly supported by the first physical interface. The first and second physical interfaces may comprise asynchronous transfer mode (“ATM”) physical interfaces. The first and second physical interfaces may be resident on a single network router.
Following switching, the second physical-interface may assume responsibilities of the first physical interface. These responsibilities may include routing and/or bridging functions. Following switching, the second physical interface may be configured in a same manner as the first physical interface was configured prior to switching. The device may include a third physical interface, and the interface redundancy group may identify the third physical interface as a tertiary interface. The device may be switched from the second physical interface to the third physical interface in response to an event. Following switching, the third physical interface may assume responsibilities of the first and second physical interfaces. These responsibilities may include routing and/or bridging functions.
In another aspect, physical interfaces on a single device are switched by designating a physical interface on the device as a high priority physical interface, and determining if the high priority physical interface is available. The device is switched from a lower priority physical interface to the high priority physical interface when the high priority physical interface is available.
The foregoing aspect of the invention may include one or more of the following features/functions. Switching may be performed automatically in response to the high priority interface being available. The high priority physical interface may be monitored to determine if the high priority physical interface is available.
In another aspect, a device is switched from a first ATM physical interface on the device to a second ATM physical interface on the device based on information in an interface redundancy group. The information in the interface redundancy group identifies the first ATM physical interface as a primary interface for the device and the second ATM physical interface as a secondary interface for the device. ATM network layer interfaces are established over the second physical interface that correspond to ATM network layer interfaces that were established over the first ATM physical interface prior to switching.
This brief summary has been provided so that the nature of the invention can be understood quickly. A detailed description of illustrative embodiments of the invention is set forth below.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 shows a network system, which includes a router having switchable physical interfaces.
FIG. 2 shows virtual circuits supported by the physical interfaces on the router.
FIG. 3 is a flow diagram showing a process for switching a physical interface on the router in “passive” mode.
FIG. 4 shows an alternative connection of the virtual circuits to the physical interfaces on the router.
FIG. 5 is a flow diagram showing a process for switching a physical interface on the router in “active” mode.
FIG. 6 shows the configuration of the virtual circuits after the switching performed inFIG. 5.
FIG. 7 is a flow diagram showing a process for switching a physical interface on the router based on priority.
FIG. 8 shows a router having three physical interfaces and redundancy groups therefor.
DESCRIPTION OF THE PREFERRED EMBODIMENT Referring toFIG. 1, anetwork system10 is shown.Network system10 includesrouter12,switches14 and16,workstations18,20 and22, andnetwork24.
Network24 is an asynchronous transfer mode (“ATM”) wide area network (“WAN”). ATM is a connection-oriented protocol, meaning that connections are established between devices before data and/or communications can be transmitted between the devices. The network layer interface comprises virtual circuits, over which data packets (in ATM parlance, “cells”) are transmitted among devices coupled tonetwork24, such asrouter12 andswitches14 and16. Virtual circuits can be established by protocols such as ELANs (Emulated Local Area Networks) onnetwork24.
Switches14 and16interface workstations20 and22, respectively, tonetwork24. Eachswitch14 and16 is an electronic device that routes cells betweennetwork24 and a corresponding workstation.Workstations18,20 and22 are personal computers (“PCs”) or other devices that are capable of receiving cells fromnetwork24, processing cells, and transmitting cells tonetwork24.
Router12 is a computer or other device that transmits packets/cells amongworkstations18,20 and22 vianetwork24. For example,router12 receives cells/packets fromworkstation18 and, based on information in those cells/packets, routes the cells/packets to eitherworkstation20 or22 (through an intervening switch and other hardware on network24).
ATMphysical interfaces26aand26bare ports provided onrouter12 for interfacing tonetwork24. Although only two such interfaces are shown, any number may be provided. Insystem10 ofFIG. 1, one of the interfaces (e.g.,26a) is designated as the primary interface forrouter12 and the other (e.g.,26b) is designated as the secondary (or backup) interface. When the primaryphysical interface26afails, the secondary physical interface.26bis switched in to take its place. A process to accomplish this is described below.
Physical interfaces26aand26bare comprised of wires terminating in connectors, such as an OC-3/OC-12 connector, which mate to corresponding receptacles onrouter12. One or more network layer interfaces are established byrouter12 over eachphysical interface26aand26bfor communication to, and over,network24.ATM line drivers30aand30btransmit cells over correspondingphysical interfaces26aand26b.
Included inrouter12 are aprocessor34 and amemory36 connected by bus38 (see view40).Memory36stores routing engines42aand42b,interface switching code44, and signalingstacks46aand46b.Processor34 executes instructions in this code to causerouter12 to perform the functions described below.Memory36 also stores interface redundancy group information48 (described below).
Signaling stacks46aand46bare blocks of code, associated with correspondingphysical interfaces26aand26b, for establishing virtual connections for the network layer interfaces over the physical interfaces. As noted, one or more network layer interfaces may be configured over a single ATMphysical interface26aand26b.
Routingengine42aroutes cells overphysical interface26aandrouting engine42broutes cells overphysical interface26b. Routingengines42aand42bexamine destination information in the cells and route the cells over appropriate interfaces. Examples of routing engines that may be used are “ARE” (ATM Routing Engine) and the 5782 Centillion Multiprotocol Engine.
Interfaceredundancy group information48 defines which physical interface is the primary interface (e.g.,26a) and which is the secondary interface (e.g.,26b). This information may be input manually atrouter12 via configuration software such as Site Managers or Bay Command Consoles (“BCC”). This software is used by network administrators to configure network devices. Alternatively, interfaceredundancy group information48 may be downloaded from a remote location such asnetwork24 orworkstation18 or set viainterface switching code44.
Interfaceredundancy group information48 includes user-defined redundancy groups. These redundancy groups assign priority to the interfaces. In the case of a two-interface router, such asrouter12, there are two possible groups. For example,physical interface26ais configured as the primary interface andphysical interface26bis configured as the secondary interface. The routing engine for each interface is configured to know the role of the interface in each redundancy group. Representative code to configure routing engines is provided in the Appendix.
In routers with more than two physical interfaces, interface redundancy groups become more complicated. Table 1 shows an example of redundancy groups for a router having four physical interfaces “
Interface 1”, “
Interface 2”, “
Interface 3” and “
Interface 4” (not shown).
| TABLE 1 |
| |
| |
| Redundancy | Primary | Secondary | Tertiary |
| Group | Interface | Interface | Interface | |
| |
|
| 1 | Interface 1 | Interface 2 | Interface 3 |
| 2 | Interface 2 | Interface 1 | Interface 3 |
| 3 | Interface 4 | Interface 3 | — |
| |
For example, in redundancy group “1”, “
Interface 1” acts as the primary interface; “
Interface 2” acts as the secondary (first backup) interface and is used if. “
Interface 1” fails; and “
Interface 3” acts as the tertiary (or second backup) interface and is used if both “
Interfaces 1” and “
Interface 2” fail.
Detecting physical interface failure and switching from a primary to a secondary physical interface (or from a secondary to a tertiary physical interface, etc.) is performed byinterface switching code44. The operation ofinterface switching code44 differs depending upon whether the secondary interface is in passive mode or active mode.
Passive Mode
In passive mode, prior to switching, the secondary interface is dormant. That is, the secondary interface is not driving/receiving signals to/fromnetwork24. Passive mode may be set as the default mode ofrouter12 using Site Manager® or BCC®.
Referring toFIG. 2, a graphical representation of passive mode is shown. InFIG. 2,physical interface26ais configured as the primary interface andphysical interface26bis configured as the secondary interface in passive mode. This configuration is set in interfaceredundancy group information48. InFIG. 2,lines54ato54hrepresent connections maintained by primaryphysical interface26aand lines56ato56hrepresent connections that are maintained by secondaryphysical interface26baftersecondary interface26b-takes over the role ofprimary interface26b.
Referring toFIG. 3, aninterface switching process56 is shown.Interface switching process56 is performed byinterface switching code44 to switch from primaryphysical interface26ato secondaryphysical interface26b.Process56 monitors58 primaryphysical interface26a, including bothdriver30aand signaling stack46a, for specific “events”. These events can include, but are not limited to, receipt of a slot reset at primaryphysical interface26aand/or a failure of primaryphysical interface26a, such as a failure ofdriver30aand/or signalingstack46a.
In response to detecting60 one of the foregoing events,process56switches62 from primaryphysical interface26ato secondaryphysical interface26b(in accordance with interface redundancy group information48).Switching62 is performed by enablingdriver30bfor secondaryphysical interface26b. Following switching,secondary interface26bestablishes63 the network layer interfaces to network24 (in this example,ELANs52ato52h), and assumes the responsibilities (including routing and bridging services) ofprimary interface26b. Switching between interfaces is performed as quickly as possible, e.g., within thirty seconds of failure or reset.
Withdriver30benabled, in64, signalingstack46btransmits cells over secondaryphysical interface26bto ELANs52ato52h. Primaryphysical interface26acan be repaired while secondaryphysical interface26bperforms its functions.
Active Mode
In active mode, prior to switching, the secondaryphysical interface26bis already communicating over the network. Following failure of the primaryphysical interface26a, thesecondary interface26bassumes the responsibilities of theprimary interface26a. In particular, upon switching, code in the signaling stack establishes the network layer interfaces (e.g., over ELANs) of theprimary interface26a, and assumes the routing and bridging functions of theprimary interface26a.
Referring toFIG. 4, a graphical representation of active mode is shown. InFIG. 4,physical interface26ais the primary interface andphysical interface26bis the secondary interface in active mode. This configuration is set in interfaceredundancy group information48. Since secondaryphysical interface26bis in active mode, prior to switching, it is providing network layer services over virtual circuits forELANs52eto52h. Primaryphysical interface26ais supporting ELANs52ato52d.
Referring toFIG. 5, aninterface switching process66 is shown, that is performed byinterface switching code44 to switch from primaryphysical interface26ato secondaryphysical interface26b.Interface switching process66 monitors68 primaryphysical interface26a, including bothdriver30aand signaling stack46a, for specific events. These events are the same as those noted above for passive mode.
In response to detecting70 one of the foregoing events,process66switches72 from primaryphysical interface26ato secondaryphysical interface26b. Switching is performed in the manner described above; that is, enabling and disabling the drivers for the appropriate network interfaces.
Interface switching process66 establishes74, over secondaryphysical interface26b, the network layer interfaces (in this case,ELANs52ato52d) of primaryphysical interface26a. Secondaryphysical interface26bcontinues to perform its original routing and bridging functions over ELANs52eto52h. Now, however, secondaryphysical interface26balso performs the routing and bridging functions formerly performed by primaryphysical interface26aover ELANs52ato52d.
Withdriver30benabled, and secondaryphysical interface26bswitched, in76, signalingstack46btransmits cells over secondaryphysical interface26bto all of ELANs52ato52h. This is shown inFIG. 6. Primaryphysical interface26ano longer transmits (hence no lines are shown between this interface and the ELANs inFIG. 6).
Switching Based on Priority
ATM physical interfaces may also be assigned relative priorities and switched on that basis. An option in router.12 may be set, e.g., by a user, to trigger automatic switching based on priority. The priority information upon which switching is based may be included in interfaceredundancy group information48, for example.
Referring toFIG. 7, aprocess78 is shown that is performed byinterface switching code44 to switch interfaces based on priority.Process78 designates80 any number of physical interfaces on a sliding priority scale, from highest priority to lowest priority. In router12 (FIG. 2), only two physical interfaces are shown. For the sake of illustration, therefore,physical interface26ais designated80 as high priority andphysical interface26bis designated80 as low priority.
Oncephysical interfaces26aand26bare designated in terms of priority, switching between them may be performed.Process78 monitors82 high priorityphysical interface26ato determine if it is up and running. If high priorityphysical interface26ais available84 (i.e., it is not “down”),process78switches86 from low priorityphysical interface26bto high priorityphysical interface26a. As a result, the “best available” interface onrouter12 is used to provide network layer connections overnetwork24.Process60 may be incorporated intoprocesses56 and66 to provide further enhanced switching capabilities.
As noted above, the invention may be used on routers having more than two physical interfaces. For example, inFIG. 8,router90 has threephysical interfaces92a,92band92corganized into twointerface redundancy groups94 and96.Interfaces92aand92care ingroup94 andinterfaces92band92care ingroup96. In this example,interface92cis a backup forinterfaces92aand92b. If either ofinterfaces92aand92bfail, then interface92cwill assume the configuration of either (or both of) failedinterfaces92aand92b.
Switching in the case of more than two interfaces is performed in the same way as described inprocesses56,66 and78, except that a decision must be made regarding which (lower priority) interface to switch for the primary interface. This decision is made based on interface availability and the priority of the various interfaces.
The invention is not limited to the specific hardware and software configurations described herein. For example, the invention can be used outside the context of ATM WANs, and with network devices other than routers. In this regard, it is to be understood that while the invention has been described in conjunction with the detailed description thereof, the foregoing description is intended to illustrate, and not to limit, the scope of the invention. Other aspects, advantages, and modifications are within the scope of the following claims.