The features and advantages of this invention are described in the following detailed description and are shown in the following drawings:
Specifically, the router 110 is connected to a router 115 by a primary optical link 120 and to a router 116 by a secondary optical link 121. The router 115 is connected to an add/drop multiplexer (ADM) 130 by an optical fiber working link 140 and the router 116 is connected to the ADM 130 by a fiber backup link 114. A link 142 interconnects the routers 115 and 116.
Similarly, at the other end the ADM 130 is connected to routers 150 and 151 by a working link 160 and a backup link 165, respectively. Routers 150 and 151 are connected to router 111 by a primary link 170 and a secondary link 171. Also a link 172 interconnects the routers 150 and 151. The optical links operate in a full duplex arrangement. Thus each link comprises a pair of optical fibers that carry data in opposite directions. The conversions between the internal electrical structures of the routers and the optical signals carried in the respective fiber links are provided by suitable “POS” units.
OSPF adjacencies are established between the working routers 115 and 150, the routers 115 and 116, and the routers 150 and 151, these routers terminate the optical paths described herein. Thus all of these routers contain identical link state databases from which they derive their routing tables.
In addition to the foregoing conventional arrangement, multi-hop adjacencies are pre-established between the routers 116 and 150, between the routers 115 and 151, and the routers 116 and 151. These latter multi-hop adjacencies are also included in the link state databases, but are assigned higher costs (e.g. maximum cost) than the working adjacencies. By having a pre-established multi-hop adjacency over a protected path, no time is spent in brining up the adjacency when the protected path becomes operational, hence reducing packet loss.
In accordance with the SONET protocol, the routers 115-151 and the ADM 130 frame the data they transmit over the optical links and they deframe the frames they receive over those links.
Router 200 includes ports 205-209. Ports 205-209 connect router 1200 to other processing systems in a network. The other processing systems that may be connected include computers, other routers or any other digital processing systems. One skilled in the art will further recognize that ports 205-209 are shown for exemplary purposes only and the exact number and configuration of the ports are left to one skilled in the art designing a specific router.
Ports 205-209 are connected to switch circuitry 215. Switch circuitry 215 is circuitry that transmits received packets to the proper ports for delivery to the proper address. One skilled in the art will recognize that there are many different types of circuitry that may be used to transmit packets between proper ports and an explanation of the switching circuitry is not critical to this invention and is omitted for brevity.
Processing unit 220 is connected to switching circuitry 215. Processing unit 220 is a processor, microprocessor, or any combination of processors and microprocessors that execute instructions to perform applications for performing functions in router 200. Processing unit 220 is also connected to a volatile memory 225 and a non-volatile memory 230 via memory bus 235.
Volatile memory 225 is a memory such as a Random Access Memory (RAM). A volatile memory stores instructions and data used by processing unit 220 to perform applications. One such application is a router operating system. The routing operating system is applications which allow router 200 to perform other applications that provide the functions of router 200. An example of a router operating system is Inter-network Operating System (IOS) designed by Cisco Systems Inc. One skilled in the art will recognize that many different types of memory may be used as a non-volatile memory such SRAM and DRAM.
In the preferred exemplary embodiment of this invention, the RAM may also store software application instructions and databases needed to perform the protocols used by network 100. These may include software for maintaining a routing table database and a link state database in a memory in router 200 to perform OSPF.
Non-volatile memory 230 is a memory such as a Read Only Memory (ROM). Non-volatile memory 230 stores configuration and other vital information for router 200. One skilled in the art will recognize that there are many different types of memory that may be used as a non-volatile memory.
Modules 240, 245, and 250 are connected to switching circuitry 215. Modules 240,245, and 250 are device and/or software that prepare specific features in router 200. An example of a module is a Voice over Internet Protocol (VoIP) module for providing telephonic communications to processing devices connected to router 200. One skilled in the art will recognize that the number of modules and the functions each module provides may be determined by one skilled in the art that configures a particular router.
In accordance with this invention, an improved system for switching from a working path to a protected path is provided by processes executed by the routing systems as shown by the following exemplary embodiments. One skilled in the art will recognize that the following processes may be executed by software, firmware, hardware, and/or any combination of the preceding components.
In step 310, a multi-hop adjacency is established between both routing systems. This is done by sending a unicast control packet to the remote IP address. Note that the protected interface IP address is advertised as /32 stub link due to point-to-multipoint network type and reachable over multi-hop path. The cost of the multi-hop adjacency is set to max value. In a preferred embodiment in which OSPF is used, the value is set to 0xFFFF. This prevents the interface from attracting traffic over a protected path.
In step 315, data is then transmitted between the two routing systems over the direct path. At a later time, the first routing system detects the working path is inoperable in step 320. When this is detected, the cost of the interface connected to the protected path is adjusted to the cost of transmitting over the interface instead of the maximum value in step 325.
After the cost is adjusted, a message is sent to the interface of the second routing system via direct path to indicate the protected path is operational so that the second routing system adjusts the cost accordingly.
In the preferred embodiment, the message is a Hello message with a bit set in the Extended Options (EO) of Link Layer Signals (LLS) of the Hello message. The message signals the interface on the second routing system to advertise adjacency to the interface of the first routing system connected to the protected path with the cost of the interface. After the message is sent the protected path is then the path for transmitting data between the two routing systems and process 300 ends.
In response to receiving the message, the second routing system changes the adjacency from the working path to the protected path in step 410. Afterwards, the second routing system begins advertising adjacency to the interface of the first routing system connected to the protected path with the cost of the protected path interface in step 415 and process 400.
The above are exemplary embodiments for switching from a working path to a protected path in APS in accordance with this invention. It is expected that one skilled in the art can and will design alternative systems that infringe on this invention as set forth in claims below either literally or through the Doctrine of Equivalents.