Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20030198214 A1
Publication typeApplication
Application numberUS 10/425,648
Publication dateOct 23, 2003
Filing dateApr 30, 2003
Priority dateJul 1, 1998
Also published asUS6577634
Publication number10425648, 425648, US 2003/0198214 A1, US 2003/198214 A1, US 20030198214 A1, US 20030198214A1, US 2003198214 A1, US 2003198214A1, US-A1-20030198214, US-A1-2003198214, US2003/0198214A1, US2003/198214A1, US20030198214 A1, US20030198214A1, US2003198214 A1, US2003198214A1
InventorsMasato Tsukakoshi, Shinsuke Suzuki, Shigeki Morimoto
Original AssigneeMasato Tsukakoshi, Shinsuke Suzuki, Shigeki Morimoto
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Method for sharing network information and a router apparatus
US 20030198214 A1
Abstract
A highly-expandable router configuration technology which flexibly meets the need to increase lines as a network grows. A network information sharing unit is provided in a route calculation unit of each router in a clustered router. The network information sharing unit receives an update notification of network information collected by routing protocol units and sends this update information to all other routers in the clustered router as a network information notification packet. The network information sharing units in the receiving router notifies the routing protocol units of the contents of the received updated information. The routing protocol unit updates the network information thereof based on the notified contents, thereby allowing the network information obtained from all routers outside the clustered router to be shared and the clustered router to be recognized externally as a single router.
Images(15)
Previous page
Next page
Claims(8)
What is claimed is:
1. A network information sharing method using routers connecting networks to which communication terminals are connected, said network information sharing method comprising the steps of:
forming network information with a network information notification packet which includes a type of a routing protocol;
transferring said network information notification packet among routing protocol programs of one or more other routers; and
generating a routing table based on said network information included in said network information notification packet using said routing protocol program, said routing table being used to determine a destination of a packet to be transferred among said communication terminals.
2. A network information sharing method using routers which have a plurality of route calculation units, one of said plurality of route calculation units being in active state with the rest in backup state, said network information sharing method comprising the steps of:
forming network information with a network information notification packet which includes a type of a routing protocol;
transferring said network information notification packet to routing protocol programs each operating in said route calculation units in backup state with the use of the routing protocol program operating in said route calculation unit in active state; and
when said route calculation unit in active state fails, sending or receiving the network information to or from other routers with the use of said routing protocol program in one of said route calculation units in backup state based on said transferred network information.
3. A network information sharing method using a router in which a plurality of routing protocol programs operate, each of said plurality of routing protocol programs executing a different routing protocol, said network information sharing method comprising the steps of:
forming network information with a network information notification packet which includes a type of the routing protocol;
transferring said network information among routing protocol programs of one or more other routers, said network information being collected based on the routing protocol corresponding to each of said routing protocol programs; and
receiving said network information collected based on the other routing protocols and sending said network information to an external router.
4. A network information sharing method using a plurality of routers connecting networks to which communication terminals are connected, said network information sharing method comprising the steps of:
forming network information with a network information notification packet which includes a type of a routing protocol;
transferring said network information notification packet among routing programs of said plurality of routers, said network information notification packet including said network information collected by the routing protocol of the routing protocol programs provided in each of said plurality of routers; and
generating a routing table based on said network information using said routing protocol program, said routing table being used to decide a destination of a packet to be transferred among said communication terminals.
5. A router connecting networks to which communication terminals are connected and which allows network information 16 to be shared, said router comprising:
means for forming the network information with a network information notification packet which includes a type of a routing protocol;
means for transferring said network information notification packet among routing protocol programs of one or more other routers; and
means for generating a routing table based on said network information included in said network information notification packet using said routing protocol program, said routing table being used to decide a destination of a packet to be transferred among said communication terminals.
6. A clustered router comprising a plurality of routers connecting networks to which communication terminals are connected, each of said plurality of routers comprising:
means for forming the network information with a network information notification packet which includes a type of a routing protocol;
means for transferring said network information notification packet among routing programs of said plurality of routers, said network information notification packet including said network information collected by the routing protocol of the routing protocol program provided in each of said plurality of routers; and
means for generating a routing table based on said network information using said routing protocol program, said routing table being used to decide a destination of a packet to be transferred among said communication terminals.
7. A router which has a plurality of route calculation units and which allows network information to be shared, one of said plurality of route calculation units being in active state with the rest in backup state, said router comprising:
means for forming the network information with a network information notification packet which includes a type of a routing protocol;
means for transferring said network information notification packet to routing protocol programs each operating in said route calculation units in backup state with the use of the routing protocol program operating in said route calculation unit in active state; and
means for sending or receiving the network information to or from other routers with the use of said routing protocol program in one of said route calculation units in backup state based on said transferred network information when said route calculation unit in active state fails.
8. A router in which a plurality of routing protocol programs operate and which allows network information to be shared, each of said plurality of routing protocol programs executing a different routing protocol, said router comprising:
means for forming the network information with a network information notification packet which includes a type of the routing protocol;
means for transferring said network information among routing protocol programs of one or more other routers, said network information being collected based on the routing protocol corresponding to each of said routing protocol programs; and
means for receiving said network information collected based on the other routing protocols and sending said network information to an external router.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application relates to applications U.S. Ser. No. 09/190,437 filed on Nov. 13, 1998 and U.S. Ser. No. 09/195,707 filed on Nov. 19, 1998 assigned to the present assignee. The disclosure of those applications is incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to a network forwarding apparatus, and more particularly to a router apparatus having a routing protocol for generating a routing table used to determine the destination of a packet to be transferred between communication terminals.

[0003] A router which forwards packets between communication terminals must accommodate a large number of lines. Conventionally, when there is a need to increase the lines as the network grows, routers must be added to the network and a configuration definition must be created for each added router.

[0004] Because there is no definite means for establishing an association of a plurality of routers that were added, a routing protocol usually used to transfer packets to or from other terminals has been used to exchange information among the plurality of routers.

[0005] However, the prior art described above has the following problems.

[0006] First, when routers are added as the network grows, the network forwarding function is executed by the plurality of routers. The plurality of routers form a router network, which requires a subnet. This results not only in the waste of network addresses but also in the reduction of address space available to users.

[0007] Second, each independent router requires that the configuration be defined for it (configuration definition); for example, the network interface addresses or the routing protocol execution parameters must be defined for each router. This increases the network management cost not only at configuration definition change time but also at production run time.

[0008] Third, a routing protocol performs version verification, route exchanging priority determination, and so on in order to exchange network information with other routers. The load of this processing is large enough compared with that of actual network information exchange. Thus, the routing protocol is not suitable for network information exchange among the routers which are added as lines are added; that is, it is not suitable for network information exchange in a closed environment. In some cases, the routing protocol also decreases the performance of terminal-to-terminal packet forwarding processing which is the fundamental processing of routers. The above-mentioned prior art is referred to in the following publication, for example: (1) Thomas M. Thomas II “OSPF Network Design Solutions” Macmillan Technical Publishing pp. 129-202; (2) RFC:791 “INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION” September 1981, Pages (i)-(iii); (3) RFC1058, C. Hedrick “Routing Information Protocol” June 1988, pp. 1-6; and (4) RFC2178, J. Moy “OSPF Version 2” July 1997, pp. 1-6.

SUMMARY OF THE INVENTION

[0009] To solve the above problems, it is an object of the present invention to provide a highly-expandable router configuration technology which flexibly meets the need to increase lines as a network grows.

[0010] To achieve the above object, an aspect of the present invention provides network information sharing means in each router to allow network information collected by routing protocols running in a plurality of routers to be shared. Sharing network information by the plurality of routers makes them externally appear as if they were a single virtual router. In the following description, this virtual router is called a clustered router.

[0011] The routing protocol running in each router in the clustered router exchanges network information with other routers outside the clustered router and, when its own network information changes, notifies the network information sharing means of the change.

[0012] The network information sharing means, when notified of the information, generates a network information notification packet containing a routing protocol identifier and sends the packet to all routers in the clustered router. Upon receiving the network information notification packet, the network information sharing means extracts update information from the received packet and sends the extracted update information to the corresponding routing protocol means in accordance with the routing protocol identifier.

[0013] When the routing protocol means receives the update information, it updates its own network information with the received information.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014]FIG. 1 is a diagram showing the configuration of a clustered router and the functional blocks of each router of the clustered router according to an embodiment of the present invention.

[0015]FIG. 2 is a diagram showing the network system configuration of the clustered router.

[0016]FIG. 3 is a diagram showing the module configuration of each router of the clustered router.

[0017]FIG. 4 is a diagram showing the hardware configuration of the router.

[0018]FIG. 5 is a diagram showing the structure of an NISP (network information sharing protocol) packet.

[0019]FIG. 6 is a diagram showing the structure of a NISP management packet.

[0020]FIG. 7 is a diagram showing the structure of a NISP Boot packet.

[0021]FIG. 8 is a diagram showing the structure of a NISP Flash packet.

[0022]FIG. 9 is a diagram showing the structure of a NISP for RIP packet.

[0023]FIG. 10 is a diagram showing the operation sequence of the NISP Boot function.

[0024]FIG. 11 is a diagram showing the operation sequence of the NISP Flash function.

[0025]FIG. 12 is a diagram showing the operation sequence of NISP network information notification.

[0026]FIG. 13 is a diagram showing the operation sequence of the NISP Flash & Boot function that is performed during re-initialization of the routing protocol means 15.

[0027]FIG. 14 is a diagram showing the operation sequence the routing protocol means.

[0028]FIG. 15 is a flowchart showing the packet transmission operation of the NISP means.

[0029]FIG. 16 is a flowchart showing the packet reception operation of the NISP means.

[0030]FIG. 17 is a flowchart showing another operation of the routing protocol means.

[0031]FIG. 18 is a diagram showing the functional blocks according to another embodiment of the present invention.

DESCRIPTION OF THE EMBODIMENTS

[0032] An embodiment of the present invention will be described below with reference to the drawings.

[0033]FIG. 1 shows the configuration of a clustered router according to the present invention and the functional blocks of each router constituting the clustered router. A clustered router 11 includes a plurality of routers each connected by a router-to-router switch 13. Each router 12 includes a route calculation unit 20 which generates and distributes a routing table used for forwarding packets and a plurality of forwarding unit 18 each of which forwards packets.

[0034] Within the route calculation unit 20 of each router 12 is provided two or more routing protocol means 15 which execute routing protocols. Each of the routing protocol means 15 sends or receives control packets to or from some other routers 25 on a network 21 outside the clustered router 11 to obtain network information 16. From the obtained network information 16, the routing protocol means 15 executes route calculation processing, generates terminal-to-terminal routing information, and adds this information to a routing table (RT) 17.

[0035] The routing table 17 generated as described above is distributed to the forwarding units 18 within the router 12 to decide whether to forward packets.

[0036] On the other hand, when the routing protocol means 15 updates the network information 16, it requests network information sharing means 14 to send the update information. In the following description, this network information sharing means 14 is described as NISP (Network Information Sharing Protocol) means 14. The NISP means 14 generates a network information notification packet 19 based on the update information and sends it to all other routers in the clustered router 11 through the router-to-router switch 13. This may be done either by sending a plurality of packets each with the destination of each destination router or by sending a single packet with the destination representing all routers. Taking into consideration that the plurality of routing protocol means 15 are running in the route calculation unit 20, the network information notification packet 19 described above has an identifier (routing protocol identifier) thereon indicating which routing protocol means has generated the update information the packet is now carrying.

[0037] The NISP means 14 of the destination router 12 receives the network information notification packet 19. The NISP means 14 checks the routing protocol identifier included in the received packet and sends the update information to the corresponding routing protocol means 15.

[0038] The routing protocol means 15 updates the network information 16 based on the update information sent from the NISP means 14.

[0039]FIG. 2 shows the configuration of the network system using the clustered router 11. The clustered router 11, composed of the routers 12 and the router-to-router switch 13, is connected to communication terminals 26 and routers 25 functioning as network forwarding apparatus. The clustered router 11 appears to the communication terminals 26 and the other routers 25 as if it was a single network forwarding apparatus. The internal configuration of the clustered router 11 in which a plurality of routers 12 are provided is not visible externally. The router 25 sends or receives routing protocol packets to or from the clustered router 11 to obtain network information. The router 25 then generates the routing table of its own from the obtained network information for use in packet forwarding between the communication terminals 26.

[0040] The network information the router 25 receives from the clustered router 11 contains enough information for generating routing information used to send packets via the clustered router 11. Communication between the communication terminals 26 via the clustered router 11 is performed the same way communication between the communication terminals 26 via a single router is performed.

[0041]FIG. 3 is a diagram showing the configuration of the modules of the NISP means 14 and the routing protocol means 15. Each routing protocol means 15 updates the network information 16 by sending and receiving routing protocol packets. The routing protocol means 15 may contain a plurality of modules 22 which update the network information 16. Each of these modules directly starts an acceptance module 31 in the NISP means 14.

[0042] Upon receiving a request from the routing protocol means 15, the acceptance module 31 in the NISP means 14 creates the network information notification packet 19 based on the request information. After that, a sending module 34 is started for sending the network information notification packet 19.

[0043] When the network information notification packet 19 is received, a receiving module 33 is started. The receiving module 33 starts a requesting module 32 and passes the received network information notification packet 19 to it. Based on the routing protocol identifier included in the network information notification packet 19, the requesting module 32 starts an accepting module 35 in the corresponding routing protocol means 15.

[0044] The accepting module 35 in the routing protocol means 15 updates the network information 16 based on the received update information.

[0045]FIG. 4 shows the hardware configuration of the router 12. The router 12 includes the route calculation unit 20 and the forwarding units 18 connected by a router internal switch 46. The router 12 performs communication with other routers 12 via an inter-router switch access controller 47.

[0046] The route calculation unit 20 includes a route calculation processor 41 and a memory 42. The route calculation processor 41 sends or receives routing protocol packets to or from the routers 25 connected to the router 12, calculates the routing table, and distributes it to the forwarding units 18. The NISP means 14 and the routing protocol means 15 are implemented by the route calculation processor 41. The memory 42 stores the network information 16 and the routing table 17 therein.

[0047] The forwarding unit 18 includes a forwarding processor 43, a memory 44, and a packet buffer 45. The forwarding processor 43 determines whether to forward a packet between the communication terminals 26 and the output forwarding unit 18. The memory 44 contains the routing table, which is indispensable for packet forwarding, distributed from the route calculation unit 20. The packet buffer 45 temporarily contains packets received by the router 12. A packet determined to be forwarded is sent to the packet buffer 45 in the output forwarding unit 18. A packet determined not to be forwarded is erased form the packet buffer 45.

[0048] FIGS. 5 to 9 show the structure of packets sent or received by the NISP means 14. The packets shown in these figures include the network information notification packet 19 described above as well as the packet for managing the NISP means 14. Generically, these packets are called NISP packets.

[0049]FIG. 5 shows the general structure of a NISP packet. The NISP packet is divided roughly into the common header section and the data section. The common header section comprises a version field containing the NISP version information, a protocol field containing the routing protocol identifier, a speaker ID field identifying the NISP packet sender, and a length field indicating the entire length of the NISP packet. The data section comprises a data field describing information on the routing protocol to be executed by the routing protocol means 15 is stored.

[0050] In some cases, each router 12 of the clustered router 11 may turn on or off power independently (or may re-initialize itself for management). With this in mind, the following two functions are necessary.

[0051] The first function, called the boot function, is used by the router 12 during startup to obtain the network information 16 of other routers 12.

[0052] The second function, called the flash function, is used by the router 12 during shutdown to request other routers 12 to delete the network information 16 previously sent by the router 12 that is going to shut down.

[0053] The two functions described above maintain the integrity of the network information 16 among all routers 12 in the clustered router 11.

[0054] In addition, when the routing protocol being executed by the routing protocol means 15 is sometimes re-initialized for management purpose. This is done by re-initializing the routing protocol means 15. To do so, the functions described above are also required to obtain the network information 16 of the routing protocol from other routers 12 and to delete the network information 16 of the routing protocol from other routers 12.

[0055] To implement the boot function and the flash function described above, the NISP management packet are defined. FIG. 6 shows the structure of the NISP management packet. The protocol field of the common header section of the NISP management packet always contains the value indicating “NISP”. The common header section is followed by the NISP administration header section and the management data section. The NISP administration header section includes the cmd field where the type of the management command is stored. The cmd field contains the value “Boot” or “Flash”. The management data section includes the management-data field in which information defined for each management command is stored.

[0056]FIG. 7 shows the structure of the NISP Boot packet used to implement the boot function. The cmd field of the NISP administration header section contains the value indicating “Boot”. The management-data section includes the req-protocol field and the boot ID field. The req-protocol field contains the type of the routing protocol executed by the routing protocol means 15 requesting the Boot function. The boot ID field contains the identifier indicating the Boot requester.

[0057]FIG. 8 shows the structure of the NISP Flash packet used to implement the flash function. The cmd field of the NISP administration header section contains the value indicating “Flash”. The management-data section includes the req-protocol field and the flash ID field. The req-protocol field contains the type of the routing protocol executed by the routing protocol means 15 requesting the Flash function. The flash ID field contains the identifier indicating the Flash requester.

[0058]FIG. 9 shows an example of the network information notification packet 19. It shows the structure of a packet (called a NISP for RIP packet) used to carry the network information of RIP (Routing Information Protocol), one of routing protocols executed by the routing protocol means 15. The protocol field of the common header section of the NISP for RIP packet contains the value indicating “RIP”. The common header section is followed by the NISP-RIP header section and the NISP-RIP data section. The NISP-RIP header section includes the version field indicating the version of NISP for RIP and the No. of data field indicating the number of NISP-RIP data pieces included in the packet. The NISP-RIP data section includes a sequence of data units each composed of the cmd field indicating the type of command, such as “ADD” or “DEL”, and network information collected by RIP. The network information collected by RIP includes the network address, the address of a router through which a packet must first arrive to reach the network, and so on.

[0059]FIG. 10 shows the operation sequence of the boot function that is executed when the router 12 is powered on. When the router 12 is powered on (91), a NISP Boot packet 92 is generated during initialization and is sent to all other routers 12. The req-protocol field of this NISP Boot packet 92 contains a value indicating all routing protocols.

[0060] When the NISP means 14 in the receiving router 12 receives this NISP Boot packet 92, it sends a Boot reception notification 93 to all routing protocol means 15 in that router because the req-protocol field contains the value indicating all routing protocols.

[0061] When routing protocol A, one of the routing protocol means 15 in the router 12, receives this Boot reception notification 93, it searches its own network information 16 for the network information other than that obtained through NISP packets, and sends a transmission request 94 to the NISP means 14 with the obtained information as the update information.

[0062] Upon receiving this transmission request 94, the NISP means 14 checks the routing protocol (routing protocol A) executed by the routing protocol means 15 that issued the transmission request 94, generates a network information notification packet 95 (the protocol field of the common header section indicates routing protocol A), and sends the generated network information notification packet 95 to the router 12 from which the NISP Boot packet was issued.

[0063] Upon receiving the network information notification packet 95 for routing protocol A, the NISP means 14 in the router 12, from which the NISP Boot packet was issued, selects the routing protocol means 15 for executing routing protocol A. This is because the protocol field of the common header section of the packet indicates routing protocol A. The NISP means 14 then sends an update information notification 96 to the selected routing protocol means 15.

[0064] When the routing protocol means 15 receives the update information notification 96, it adds this information to its own network information 16.

[0065]FIG. 11 shows the operation sequence of the Flash function that is executed when the router 12 is shut down. When the router 12 is shut down (101), a NISP Flash packet 102 is generated during shutdown and is sent to all other routers 12. The req-protocol field of this NISP Flash packet 102 contains a value indicating all routing protocols.

[0066] Upon receiving this NISP Flash packet 102, the NISP means 14 in the receiving router 12 sends a Flash reception notification 103 to all routing protocol means 15 in that router 12 because the req-protocol field contains the value indicating all routing protocols.

[0067] When routing protocol means 15 in the router 12 receives this Flash reception notification 103, it deletes from its own network information 16 only the information obtained from the NISP means 14 of the router 12 identified by the flash ID of the received packet.

[0068]FIG. 12 shows how the network information 16 collected by the RIP is maintained when the RIP is used by the routing protocol means 15 as the routing protocol. When the network information 16 is added through execution of the RIP (111), the routing protocol means 15 sends a transmission request 112 to the NISP means 14 to send the update information.

[0069] When the NISP means 14 receives the transmission request 112, it generates a network information notification packet for the RIP 113 (the protocol field of the common header section indicates RIP) because the routing protocol executed by the requesting routing protocol means 15 is the RIP. The NISP means 14 then sends this packet to all other routers in the clustered router 11. At this time, the cmd field of the NISP for RIP data section shown in FIG. 9 indicates “ADD”.

[0070] Because the protocol field of the common header section of the packet indicates the RIP, the NISP means 14 in the router 12 which has received the network information notification packet for the RIP 113 sends an update information notification 114 only to the routing protocol means 15 which execute the RIP.

[0071] Upon receiving the update information notification 114, the routing protocol means 15 for executing the RIP adds the received information to its own network information 16 because the cmd field of the packet indicates “ADD”.

[0072] On the other hand, when network information is deleted from its own network information 16 through execution of the RIP (115), the routing protocol means 15 sends a transmission request 116 to the NISP means 14 to send the update information.

[0073] When the NISP means 14 receives the transmission request 116, it generates a network information notification packet for the RIP 117 because the routing protocol executed by the requesting routing protocol means 15 is the RIP. The NISP means 14 then sends this packet to all other routers 12 in the clustered router 11. At this time, the cmd field of the NISP for RIP data section indicates “DEL”.

[0074] Because the protocol field of the common header section of the packet indicates the RIP, the NISP means 14 in the router 12 which has received the network information notification packet for the RIP 117 sends an update information notification 118 only to the routing protocol means 15 which execute the RIP.

[0075] The routing protocol means 15 for executing the RIP which has received the update information notification 118 deletes the received information from its own network information 16 because the cmd field of the packet indicates “DEL”.

[0076]FIG. 13 shows the operation sequence that is performed when the RIP is operating as the routing protocol executed by the routing protocol means 15 in the router 12 and when only that routing protocol means 15 is reinitialized. When a request 121 to re-initialize only the RIP is generated, the routing protocol means 15 sends a NISP Flash packet transmission request 122 to the NISP means 14 during RIP re-initialization of the routing protocol means 15.

[0077] Because the routing protocol of the requesting routing protocol means 15 is the RIP, the NISP means 14 which has received the NISP Flash packet transmission request 122 generates a NISP Flash packet 123 whose req-protocol field indicates the value RIP. The NISP means 14 then sends the generated packet to all other routers 12 in the clustered router 11.

[0078] The NISP means 14 in the receiving router 12 which has received the NISP Flash packet 123 sends a Flash reception notification 124 only to the routing protocol means 15 that executes the RIP, because the req-protocol field indicates RIP.

[0079] When the routing protocol means 15 that executes the RIP receives this Flash reception notification 124, it deletes only the information obtained from the NISP means 14 of the router 12 identified by the flash ID in the received packet.

[0080] When re-initialization is completed (125), the routing protocol means 15 that executes the RIP sends a NISP Boot packet transmission request 126 to the NISP means 14.

[0081] The NISP means 14 which has received the NISP Boot packet transmission request 126 generates a NISP Boot packet 127 whose req-protocol field indicates the value RIP, because the routing protocol of the requesting routing protocol means 15 is the RIP. The NISP means 14 then sends the generated packet to all other routers 12 in the clustered router 11.

[0082] The NISP means 14 in the router 12 which has received the NISP Boot packet 127 sends a Boot reception notification 128 only to the routing protocol means 15 that executes the RIP, because the req-protocol field indicates RIP.

[0083] When the routing protocol means 15 that executes the RIP receives this Boot reception notification 128, it searches its own network information 16 for the network information other than that obtained through NISP packet and sends a transmission request 129 to the NISP means 14 with the obtained network information as the update information.

[0084] The NISP means 14 which has received the transmission request 129 generates a network information notification packet for RIP 130 and sends it to the router 12 which issued the Boot packet, because the routing protocol of the requesting routing protocol means 15 is the RIP. At this time, the cmd field of the NISP for RIP data section indicates “ADD”.

[0085] The NISP means 14 of the router 12 which has received the network information notification packet for RIP 130 sends an update information notification 131 only to the routing protocol means 15 which executes the RIP, because the protocol field of the common header section of the packet indicates RIP.

[0086] The routing protocol means 15 which executes the RIP and which has received the update information notification 131 adds this information to its own network information 16.

[0087]FIG. 14 is a flowchart showing the operation of the routing protocol means 15. The routing protocol means 15 checks if it has received network information from a router external to the clustered router 11 (step 201). Upon receiving network information, the routing protocol means 15 checks if the received information matches the network information it has (step 202). If they match, there is no need to update the network information; if they do not match, that is, when the existing information is updated or deleted or when new information is added, the routing protocol means 15 updates the network information (step 203). After that, the routing protocol means 15 requests the NISP means 14 to transmit the update information (step 204) and passes control back to step 201 to check if new network information is received.

[0088]FIG. 15 is a flowchart showing the operation that is executed by the NISP means 14 when the update information transmission request is received. The NISP means 14 creates a network information notification packet based on the information transmission request (step 211), transmits the packet to other routers 12 in the clustered router 11 (step 212), and ends the operation.

[0089]FIG. 16 is a flowchart showing the operation executed by the NISP means 14 when the network information notification packet is received from some other router 12. First, the NISP means 14 extracts the protocol field from the common header (step 221) and checks to see if the extracted protocol field indicates NISP (step 222). If the extracted protocol field does not indicate NISP, the NISP means 14 passes the update information to the routing protocol means 15 which executes the routing protocol specified by the protocol field (step 231) and ends the operation.

[0090] If the extracted protocol field indicates NISP, that is, when the packet is the NISP management packet, the NISP means 14 checks if the cmd field of the NISP management header indicates Flash (step 223).

[0091] If the cmd field of the NISP management header indicates Flash (step 223:Yes), the NISP means 14 checks if the req-protocol field contains a value indicating all routing protocols (step 224). If the field contains a value indicating all routing protocols, the NISP means 14 notifies all routing protocol means 15 of Flash (step 226); otherwise, the NISP means 14 notifies the corresponding routing protocol means 15 of Flash (step 225). Then, the NISP means 14 ends the operation.

[0092] If the cmd field of the NISP management header does not indicate Flash (step 223:NO), the NISP means 14 checks if the cmd field indicates Boot (step 227).

[0093] If the cmd field of the NISP management header indicates Boot (step 227:YES), the NISP means 14 checks if the req-protocol field contains a value indicating all routing protocols (step 228). If the req-protocol field contains that value, the NISP means 14 notifies all routing protocol means 15 of Boot (step 230); otherwise, the NISP means 14 notifies the corresponding routing protocol means 15 of Boot (step 229). Then, the NISP means 14 ends the operation.

[0094] If the cmd field of the NISP management header does not indicate Boot (step 227:NO), the NISP means 14 ends the operation.

[0095]FIG. 17 is a flowchart showing the operation executed by the routing protocol means 15 when it receives a notification from the NISP means 14. First, the routing protocol means 15 checks if the notification is an update information notification (step 241). If the notification from the NISP means 14 is an update information notification (step 241:YES), the routing protocol means 15 updates its own network information 16 with the received update information (step 242). If the notification from the NISP means 14 is not an update information notification (step 241:NO), the routing protocol means 15 checks if the notification is a Flash notification (step 243).

[0096] If the notification from the NISP means 14 is a Flash notification (step 243:YES), the routing protocol means 15 deletes all information, received from the NISP means 14 of the router 12 identified by the flash ID field of the NISP Flash packet, from its network information 16 (step 244). If the notification from the NISP means 14 is not a Flash notification (step 243:NO), the routing protocol means 15 checks if the notification is a Boot notification (step 245).

[0097] If the notification from the NISP means 14 is a Boot notification (step 245:YES), the routing protocol means 15 requests the NISP means 14 to transmit all network information other than that obtained through the NISP means 14 to the NISP means 14 of the router 12 identified by the boot ID field of the NISP Boot packet (step 246). Then, the routing protocol means 15 end the operation. If the. notification from the NISP means 14 is not a Boot notification (step 245:NO), the routing protocol means 15 end the operation.

[0098]FIG. 18 is a functional block diagram of the second embodiment according to the present invention. The router 12 comprises the plurality of route calculation units 20 each of which generates and distributes the routing table used for packet forwarding and the plurality of forwarding processing units 18 each of which forwards packets. Only one of the plurality of route calculation units 20 is in the active state, and the rest are in the backup state. Though the router 12 is one element of the clustered router 11 in this figure, the present invention is not limited to this configuration. The router may exist alone.

[0099] Within the active-state route calculation unit 20, the routing protocol means 15 is operating. The routing protocol means 15 sends or receives control packets to or from some other router 25 on a network outside the router 12 to obtain the network information 16. From the obtained network information 16, the routing protocol means 15 performs route calculation to generate routing information and adds this information to the routing table 17.

[0100] The routing table 17 thus generated is distributed to the forwarding units 18 in the router 12 to decide whether to forward packets.

[0101] The routing protocol means 15 in the backup-state route calculation unit 20 does not send or receive packets to or from some other router 25, nor does it distribute the routing table 17 to the forwarding unit 18.

[0102] After updating the network information 16, the routing protocol means 15 in the active-state route calculation unit 20 requests the NISP means 14 to send the update information. The NISP means 14 generates the network information notification packet 19 based on this update information and then sends it to all backup-state route calculation units 20. Because there are the plurality of routing protocol means 15 in the route calculation unit 20, the network information notification packet 19 has the identifier (routing protocol identifier) thereon to indicate which routing protocol has generated the update information.

[0103] The NISP means 14 in the backup-state route calculation unit 20 checks the routing protocol identifier in the received packet and passes the update information to the routing protocol means 15 of the corresponding type.

[0104] The routing protocol means 15 in the backup-state route calculation unit 20 updates the network information 16 based on the update information received from the NISP means 14. At this time, the routing protocol means 15 may or may not generate routing information from the updated network information 16. If the routing protocol means 15 does not generate the routing information at this time, it generates new routing information when the corresponding route calculation unit 20 enters the active-state and then creates the routing table 17.

[0105] The operation described above keeps the network information 16 of the backup-state route calculation unit 20 up-to-date. Therefore, when the active-state route calculation unit 20 fails and the backup-state route calculation unit 20 enters the active-state, the route calculation unit 20 does not have to obtain the network information 16 from some other router 25, thus minimizing the influence of an error (such as loss of packets between communication terminals).

[0106] When the router 12 is an element of the clustered router 11, the network information 16 may be shared by combining the configuration in FIG. 1 and that in FIG. 18. That is, the network information notification packet 19 may be sent to all other route calculation units 20 in the same router 12 and to all route calculation units 20 in other routers 12 in the clustered router 11.

[0107] According to the present invention, network information collected by the routing protocol in each router in a clustered router is sent to other routers in the clustered router. This makes it possible for all routers in the clustered router to share the network information.

[0108] Sharing network information as described above makes a clustered router, composed of a plurality of routers, appear as if it was a single router.

[0109] Conventionally, more routers must be added as the network grows and the resulting router networks require additional network addresses. The present invention allows the user to treat the router connections in the clustered router as internal networks, eliminating the need to assign network addresses to them. This avoids waste of network addresses and increases address space available to the user.

[0110] In the conventional system, there is a need to perform configuration definition for each router. The clustered router, which is configured as a single router, eliminates that need, significantly reducing the network management cost.

[0111] In addition, network information exchange among the routers in the clustered router is performed in a simpler method which does not use routing protocols. This ensures the performance of terminal-to-terminal packet forwarding which is the primary function of routers.

Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US6889231 *Dec 2, 2002May 3, 2005Oracle International CorporationAsynchronous information sharing system
US7031974Dec 2, 2002Apr 18, 2006Oracle International CorporationReplicating DDL changes using streams
US7103612Mar 26, 2003Sep 5, 2006Oracle International CorporationInstantiation of objects for information-sharing relationships
US7680793Oct 7, 2005Mar 16, 2010Oracle International CorporationCommit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers
US7801856Aug 9, 2006Sep 21, 2010Oracle International CorporationUsing XML for flexible replication of complex types
US7814067Jan 12, 2005Oct 12, 2010Oracle International CorporationAsynchronous actions using flashback
US7933278 *Jul 26, 2007Apr 26, 2011Samsung Electronics Co., Ltd.Apparatus and method for providing network information
US7975045 *Dec 26, 2007Jul 5, 2011Verizon Patent And Licensing Inc.Method and system for monitoring and analyzing of IP networks elements
US8374966Dec 2, 2002Feb 12, 2013Oracle International CorporationIn memory streaming with disk backup and recovery of messages captured from a database redo stream
Classifications
U.S. Classification370/351
International ClassificationH04L12/56, H04L29/06
Cooperative ClassificationH04L69/40, H04L69/18, H04L45/60, H04L45/583, H04L45/586, H04L45/02, H04L45/021, H04L45/54
European ClassificationH04L45/58A, H04L29/14, H04L45/02A, H04L45/02, H04L45/54, H04L45/58B, H04L45/60