CA2035231A1 - Updating link state information networks - Google Patents

Updating link state information networks

Info

Publication number
CA2035231A1
CA2035231A1 CA002035231A CA2035231A CA2035231A1 CA 2035231 A1 CA2035231 A1 CA 2035231A1 CA 002035231 A CA002035231 A CA 002035231A CA 2035231 A CA2035231 A CA 2035231A CA 2035231 A1 CA2035231 A1 CA 2035231A1
Authority
CA
Canada
Prior art keywords
link
state
node
packet
fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002035231A
Other languages
French (fr)
Inventor
Radia J. Perlman
Ross Callon
Charles W. Kaufman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of CA2035231A1 publication Critical patent/CA2035231A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass

Abstract

Abstract of the Disclosure Methods and apparatus for sending link state information through a network of nodes interconnected by links. Link state packets (LSPs) are fragmented, and the fragments are sent individually through the network. The network routers may update their link state databases and perform routing without having to receive and reassemble all of the fragments. When the state of a link changes, only an amended version of the fragment affected by the change is transmitted. In another aspect, the invention features methods and apparatus for transmitting LSP sequence number information through the network. First, the link state packets being stored by a node are ordered alphabetically according to their source node. Next, a range of this order is selected and placed in a summary packet indicating the boundaries of the selected range and, for each link state packet in the selected range, the source and sequence number of the stored link state packet.

Description

203523:1 UPD~ G LINK STATE INFORMATION IN NETWORKS

Back~ound Qf the Invention The invention relates to updating link state information in networks.
Information is communicated through such a network along a myriad of links which interconnect nodes. The nodes may be routers, which receive and forward packets toward their destination along the appropriate links. Each router must know the states (e.g., operative or inoperative) of the links in the network in order to send packets along effective paths to their respective destinations, avoiding, for example, faulty links or routers. Schemes for communicating link state information and choosing effective (e.g., optimum) paths are known as routing algorithms.
In popular routing algorithms such as that described in "The New Routing Algorithm for the ARPANET" by McQuillan, Richer, and Rosen, IEEE Transactions o~_Communications, May, 1980, each node (e.g., router) determines which links are connected to it, the state of those links, and the identity of the node on the other end of each link. To initialize the network, each router places this information in a special packet known a~ a Link State Packet (LSP), and transmits this LSP to all of the other routers in the network. Later, when changes in the network occur (e.g., a link fails), one or ~ore routers may generate new LSPs which supersede previously generated LSPs. As long as the most recent LSPs are propagated reliably to all of the routers, each router will have complete information about the current topology of the network and can thus use any well known algorithm to compute routes through the network (such as the Dijkstra algorithm described in "A Note on Two Problems in Connexion with Graphs" by Edsgar Dijkstra, Vol. 1, 1959, pages 269-271). However, if the transmission of LSPs 203S2~1 becomes unreliable, then the network may eventually become in-capable of transmitting data.
When a router receives an LSP, it compares the relative ages of the received LSP and any stored LSPs that were previously received from the same router. The received LSP i5 stored in place ofthe stored LSP if the received LSP is more current; otherwise, the stored LSP is retained and the received LSP is ignored. To allow routers to make a determination of the ~ relative ages of LSPs, every LSP is assigned a se~uence number;
the sequence number of each LSP is greater than that of the LSP
that preceded it.
Brief Description of the Drawings Figure 1 illustrates the contents of a typical LSP.
Figure 2 illustrates the contents of a typical CSNP.
Figures 3A through 3C illustrate the contents of LSP
fragments.
Figure 4 is a flow chart of an algorithm for updating the contents of link state packet storage according to the invention.
Figures 5A through 5C illustrate the contents of a node's link state database.
Figure 6 is a flow chart of an algorithm for adding neighbors to the fields of the link state database of Figures 5A through 5C.
Figures 7A through 7C illustrate the contents of CSNP
fragments.

- . .
' , .

~0352~1 - 2a - 60412-2131 Referring to Figure 1, a typical LSP includes a source field 10 containing the name of the router that originated the LSP; a sequence number field 12 containing the sequence number for the LSP; and any number of neighbor fields 14, each of which indicates a neighbor node connected to the source router by a communications link.
When changes occur ~e.g., the links connected to a router become operative or inoperative), a new version of the router's LSP is issued. In known LSP algorithms, to reflect these changes, fields are removed from or added to the LSP. In ; known LSP-based routing algorithms, when a link connected to a router fails, the field corresponding to the link (i.e., the field indicating the neighbor to which the link connects~ is removed from the router's LSP, and the router's LSP is retransmitted.
When a link returns to operation, the field corresponding to the link is added back to the LSP, and the LSP is retransmitted.
~-~ In one algorithm for adding and removing fields from a LSP, when a field is removed, each of the fields below the removed field is moved to a position one field nearer to the beginning of the LSP. When a field is added, it is added to the end of the LSP. ~hus, when a field near the beglnnlng ::
'`

~ ~.
.,~

203a2~1 of the LSP i9 removed, most of the other fields in the LSP
are repositioned.
The LSPs stored by two routers are often compared to determine if the LSPs being atored by one router are more recent than the LSPs being stored by on~ of its neighboring routers. Sometimes all of the LSPs being stored by two neighborin~ routers are compared. To accomplish this, one router forms a complet~ sequ~nce number packet (CSNP) that li~ts all of the sequence numbers of all of the LSP8 currently stored by the router.
Referring to Fig. 2, a CSNP contains the sequence number field 12 of each LSP stored in the database of the router that generated the CSNP. ~owever, these sequence numbers cannot b~ interpreted without also knowing the identity of the router that generated the sequence numbers.
Therefore, the source field 10 of each LSP i~ paired with th~ ~eguence number 12 of the LSP (forming a pair 16).
In a large network, a router may be connected to ~any communications link~, making that router's LSPs very long. Further~ore, there may be many nodes, and thus the CSNP3 may al~o become very large. In general, the longer a packat, tho more difficult it is t~ transmit th~ packet over a network.
Som~ n~tvork protocols e~tablish a maximu~ size for pack~ts to be transmitted. For exampl~, on a local area network (LAN) con~igured in accordance with the IEEE 802.3 protocol ~dQscribed in the IEEE 802.3 standard, available from tho In~tit~te for Electr$cal and Electronic Engineers, New York, NY), th~ maximum packet siza i8 approximately 1500 byt~. In ordar to transmit large packets over such size-limited protocol~, a router mu~t include interface software or hard~are. Briefly, using uch softwar~ or hardware, a s~nding rout~r splits the larg~ packet into pieces which are 2~3~2~

smaller than the maximum packet size. These pieces are then transmitted separately to a receiving node. The receiving node then re-assem~les the pieces, and the completed large packet is forwarded to a subsequent node ~this forwarding may involve re-splitting the packet for transmission over another size-limited protocol).
Even in protocols which are not size-limitad, the larger a packet, the more likely that it will be corrupted by noise when sent along a link. Although communications faults occur at random, the lars~er a data packet is, the longer it will take to be sent over the link, and thus the more likely it is that a fault will occ~r during the trans~ission of the packet. Although it is common for data packets to be encoded with an error-checking algorithm (such as a checksum) which can determine if an error has corrupted the information in the packet, such error-checking algorithms typically do not provide for a way to correct the packet; rather, they can simply determine whether the packet is in error. Therefore, when a packet is received in error, it is discarded by the receiving router. The sending router then re-transmits the packet. The increased pro~ability of error~ in transmittinq large packets, coupled with the extra time required to transmit such packets, can result in a computation burden on network routers.
Summary of the Invention In brief summary, the invention features a method for updatingr at a first node of a network of nodes interconnected by li~ks, stored information used for routing packets at the first node. The first node receives at least one link state packet indicating the state of one or more links connected to a given node in the network Thereafter, the first node attempts to derive frsm the received packet or packets the states of the indicated links. If the states 2Q3523~

of fewer than all of the links connected to the given node are derived, the stored information is updated using the derived link states. Later, when a link connected to the given node changes from a first state to a second state, if the first state of the changed link was indicated in a previously sent packet, the first node is sent an amended version of the previous packet, which indicates that the changed link is in the second state, and nothing else. An indicator indicating the amendments made to the previous packet is also stored. However, if first state of the changed link was not indicated in a previous packet, the first node i8 just sent a packet indicating that the changed link i8 in the second state.
Preferred embodiments include the following features.
The indicator is stored in the giYen node.
If the changed link subsequently changes from the second state back to the first state, the stored indicator is retrieved, and a twice amended version of the previous packet i8 formed by removing the amendments indicated by the indicator, and the twice amended version of the packet is sent to the flrst node.
The first state may be an operative state and the second state an inoperative state, in which case each link state packet indicates that a link connected to the given node is operative by identifying one or more nodes that are connected to the operative link, and indicates that a link connected to the given node is inoperative by omitting identification of one or more nodes that are-connected to the inoperative link. In this embodiment, the indicator includes a field for identifying a node and a flag bit for indicating the operability of the link connecting the identified node to the given node.

203a231 Other features and advantages of the invention will be appreciated from the following description of the preferred embodiment and from the claims.
Description of the Preferred Embodiment In the invention, rather than sending long LSPs through the network, routers transmit link state information in several smaller fragments. Each fragment is generated, transmitted, and used independently of other fragments. When one of the fragments is corrupted by noise during transmission, only the corrupted fragment is re-transmitted. Furthermore, when the s~ate of a link changes, only (a revised version of) the affected LSP fragment is transmitted.
Note that the "state" of a link, as used below, is information as to whether the link is operative or in-operative; however, a link state fragment formed according to this invention may also include other information about the link such ~g its "cost". Although described in terms of updating link operability information, the methods described herein are egually applicable to updating these other types of link state information.
A typical set of fragments is illustrated Figs. 3A
through 3C. Taken together, the fra~ments illustrated in Figs. 3A through 3C contain all of the neighbor fields of the prior art LSP of Fig. 1. However, each fragment contains only some o~ the neighbor fields that are contained in the prior art LSP of Fig. 1. Whereas the LSP in Fig. 1 contains fields for all neighbors (which are numbered 1 through N), the first fragment, shown in Fig. 3A, contains only neighbor fields 1 through K (where K < N); the second fragment, shown in Fig. 3B, contains only neighbor fields K+l through M (where M < N); and the third fragment, shown in Fig. 3C, contains only neighbor fields M+1 through No Each fragment include~ a field 10 indicating the source node; this field contains the same information as the source node field 10 of a prior art LSP (Fig. 1). In addition, each fragment includes a field 18 indicating the "fragment nu~ber", i.e., the fragment's location in the set of fragments that includes all of the link state information of a prior art LSP. Note that the fragment in Fig. 3A is indicated as ~ragment 1, the fragment in Fig. 3B is indicated as fragment 2, and so on.
Each fragment also includes a field 12 containing a sequence nu~ber. This field performs a similar function to the sequence numbers of complete LSPs; however, in this case the sequence number indicates the relative age of the fragment among the versions of the fragment that have been broadcast by the originating router. Because the fragments are independently updated in response to changes in the network, the sequence number~ of various fragments from the .

2~352~1 same originating node may be different; note that the sequence number of fragment 1 is 12, but the sequence number of fragment 2 is 7, and so on.
Referring to Fig. 4, when a fragment i8 received by a router, the router searches 13 for any stored fragments having the same source and fra~ment number a5 the received fragment. If one is found, the router compares 15 the sequence number of the received fragment to the sequence number of the stored fragment. If the sequence number of the received fragment is higher, or if no stored fragment was found in step 13, the received fragment is stored 17.
The router then computes routes through the network based on the link state information included in the received fragment (for example, by computing a routing table using Dijkstra's algorithm). Otherwise, if the stored fragment is more current, the ~tored fragment is retained and the received fragment is discarded 19.
To enhance the operation of the invention, the relative positions of the neighbor fields of the ~SP
fragments are carefully maintained. Fig. 5A illustrates the contents of a router's link state database 20 (i.e., the database in the router that stores the stateC of all of the links connected to the router). The contents and organization of the database 20 correspond to the contents and orqanization of the fields in the LSP fragments of Figs.
3A through 3C. The first X fields of the database are included in the fragment of Fig. 3A, fields K+1 through M of the database are included in the fragment of Fig. 3B, and fields M+l through N of the database are included in the fragment of Fig. 3C.
Referring to Fig. 5B, as the states of the links change, the corresponding fields in the link state database and the LSP fragments must change. In Fig. 5B, the links to g neighbors M and M+2 have become disabled. In addition, a new link to a neighbor N+l has become enabled. Because the links to nei~hbors M and M+2 are no lonqer operative, subsequent LSP fragments should not indicate these neighbors. Although these neighbors are to be removed from LSP fragments, in the router's database 20, the fields previously occupied by neighbors M and M+2 are not erased or re-used. Rather, the fields for neighbors M and M+2 are marked as "empty" (for exampla, by setting a flag bit); for future use, the identity of the neighbor that had previously been stored in the field is retained by the field (the identity of the previous occupant is illustrated in parentheses in Fig. 5B). When a new neighbor is added (if there is stora~e space available in the router's database 20), rather than re-using the fields marked as empty, a new field is added to the end of the database. In Fig. 5B, a new field has been created for new neighbor N+1.
New LSP fragments must be issued to convey the above link state changes to other nodes in the network. These new fras~ents are illustrated at the bottom of Fig. SB. Because the field previsusly occupied by neighbor M is now marked as "empty" in the database 20, the new version o~ fragment 2 does not have a field for neighbor M, and ends with the field for neighbor M-1. Similarly, because the field previously occupied by neighbor M+~ is now "empty" in the database, the new version of fragment 3 does not have a field for neighbor M~2; the field for neighbor M+1 is followed immediately by the field for neighbor M+3. In addition, because new neighbor N+l has been added to the database, the new version of fragment 3 ends with a field for the new neighbor N+1. (Alternatively, a new fragment, numbered 4, could be created to contain the field for ; neighbor N+l).

2~3~3~

The states of the link8 may change again, for example, in Fig. 5C, the link to neighbor M+2 has again become enabled. In thi~ case, because neighbor M+2 is identified as the previous occupant of a field marked "empty", neighbor M~2 is not added to the end of the data base 20. Rather, the field that previously contained neighbor M+2 is modified to not be marked as "empty" ~i.e., its flag bit is cleared), and thus neighbor M+2 is again included in the link state database.
In response to the above changes in the link states, a new version of LSP fragment 2 must be issued. This new fragment is illustrated at the botto~ of Fig. 5C. Because the field previously marked as "empty" is now occupied by neighbor M+2, the new version of fragment 2 has a field for neighbor M+2; the field for neighbor M+1 i8 followed immediately by the field for neighbor M+2.
Referring to Fig. 6, in one algorithm, when a neighbor is to be added to the link state database 20, a loop 30, 32, 34 examines the fields in the database which have the empty bit set. Each field is checked 32 to determine if it identifies the neighbor to be added ~i.e., if the neighbor to be added had previously occupied the field). If such a field is found, the algorithm clears 36 that field's empty bit, thus re-incorporating the neighbor into the database and the LSP fragments.
If no such field is found, and all of the fields with th~ empty bit set have been checked (i.e., the answer at step 34 i8 "yes"), the algorithm checks 38 if the link state database is full. That is, the algorithm checks if there i8 storage space in the link state database for another field. If the database is not full, a new field is added 40 to the database, and the new neighbor is added to this field. However, if the database is full, th~n one of 2Q3~231 the "empty" fields must be "garbage collected" and used to store the new neighbor. For this purpose, the algorithm selects 42 a field with the empty bit set, and adds the new neighbor to this field. The selection strategy may be random, or, preferably, the selection may be done on a "least recently used" basis. In the latter embodiment, each of the "empty" fields indicates the length of time that they have been marked as empty, and the one that has been marked as empty for the longest time is used to ~tore the new neighbor.
The algorithm of Fig. 6 assumes that the node database has more fields than the total number of links that may be connected to the node. In an alternative embodiment, the algorithm can be modified so that, if this assumption is false, an error is generated. In this embodiment, the algorithm returns an error if, during step 42, a field with the empty bit set is not found.
The above algorithm for adding and removing fields in the node database 20 reduces the extent to which the contents of the neighbor fields move in the database and in the fragments; the removal or addition of a neighbor does not affect the positions of the other neighbors in the database or in the fragments. This feature enhances the benefits of fragmentation: when the state of one link changes, the contents of only one fragment will be affected by the change.
If the addition or subtraction of one link caused ~ the location of many neighbors to change (as i the case in - known methods for adding and removing neighbors~, the contents of many of the fragments would change. Thus many fragments would have to be updated in response to a change of state of a single link; as a result, transmission overhead would be increased.

.

293~23~

The algorithm of Fig. 6 also reduces the possibility that a field for a particular neighbor may move from one LSP
fragment to another LSP fragment. Such movements can result in error conditions. For example: if node A's neighbor B
moved from node A' 5 LSP fragment 2 to node A's LSP fragment 1, node A would have to broadcast new versions of fragment X
and fragment X-1 to the network, because the contents of both fragments changed. If fragment X were broadcast to the network first, for some period of time before ~ragment X-l was received by the network, the network would be unaware of the link between A and B, because the old version of fragment X-1 would not indicate the existence of the link, and the new version of fragment X-l would not yet have been received. This situation may cause an error if a node in the network attempts to route a packet based on the erroneous assumption that there is no link between node A
and node B.
As discussed above, it may often be desirable to use CSNPs to compare the contents of the link state databases of two routers, for example, two neighboring routers. Some particular situations where a CSNP comparison may be desirable are as follows: (1) When a link is activated, the link state databases of the two routers that are newly connected by the link should be compared. For this purpose, one or both of the connected routers may transmit CSNPs to the other router. (2) When a new router is first activated (and thus has an empty link state database), the new router' 3 neighbors should provide the new router with their stored LSPs. For this purpose, the new router may transmit an "empty" CSNP to its neighbors, thus reque~ting an update.
(3~ on a Local Area Network (LAN), the designated router (which is responsible for routing and '~housekeeping" duties for the LAN) should regularly verify that all of the other , .

2~352~

LAN routers have received recently transmitted LSPs. (This is necessary because routers on a LAN do not send acknowledgement messages acknowledging the receipt of LSPs).
For this purpose, the designated router broadcasts a CSNP to the other routers on the LAN.
In large networks, there may be many routers, and thus the network's CSNPs may become very large. The problems that can be caused by large LSPs may also be caused by large CSNPs. Therefore, in an aspect of the invention, large CSNPs are avoided by dispersing the information contained in the CSNP, and transmitting it in several CSNP
fragments. These CSNP fragments are illustrated in Figs. 7A
through 7C. Each CSNP fragment includes several of the pairs 16 included in ths complete CSNP of Fig. 2. However, the order of the pairs 16 in the CSNP fragments is not necessarily the same as the order of the fragments in the complete CSNP.
In CSNPs, the order in which the pairs 16 appear is usually random (and typically depends on the order in which the LSPs were added to the originating router's link state database). In the invention, when creating CSNP fragments, these pairs 16 are ordered. Any suitable ordering scheme ~e.g., an alphabetical or numeric scheme) may be used. In a preferred embodi~ent, the source fields 10 of the pairs 16 are used to determine an ord ring of the pairs. Once all of the pairs 16 are ordered, a range of the pairs (e.g., all pairs with source fields numbered 1 through 10) is selected, and tho~e pairs 16 in the selected range are included in a CSNP fragment and transmitted.
For the sake of example, the first CSNP fragment, shown in Fig. 7A, may include the pairs from the sources numbered 1 through X, the second CSNP fragment, shown in Fig. 7B, may include the pairs from sources numbered X+1 ... . . . .
.: , . . : .... .. .
-. . , ' ~ : ~ ' - ~ . :
~.
.: :

2Q332~1 through Y, and the third CSNP fragment, shown in Fig. 7C, may include the pairs from the sources numbered Y+1 through Z (where X < Y < Z). Note that, although all of the pairs 16 in the selected range are placed in the CSNP fragment, within the CSNP fragment, the pairs do not have to appear in order (i.e., they do not have to be sorted) as shown in Figs. 7A through 7C. If desired, the pairs may be randomly arranged within the CSNP fragment. However, it i8 preferred to sort the pairs in the CSNP fragment to increase the efficiency with which the ~SNP fragment may be parsed and compared to a receiving router's link state database.
To facilitate comparison, two additional fields 50, 52 are included in the header of the CSNP fragments. These fields indicate the range of pairs 16 included in the CSNP
fragment. Field 50 indicates the source number (or name) of the numerically (or alphabetically) first pair 16 included in the CSNP frayment. Field 52 indicates the source number (or name) of the numerically (or alphabetically) last pair 16 included in the CSNP fragment. For example, in Fig. 7A, field 50 indicates that source 1 is the start of the range in the CSNP fragment, and field 52 indicates that source X
is the end o~ the range of the CSNP fragment.
The inclusion of fields 50, 52 allows the CSNP
fragments to be autonomous, in that their contents are well defined, and can be used independently of the other fragments. This aspect is discussed in more detail below.
When required by the routing algorithm (e.g., under any of the conditions set forth in the background above), a router forms a CSNP fragment, and transmits it to one or more of the other routers in the network. The receiving router ~irst cQmpares the CSNP fragment to the receiving router's link state database to determine whether LSPs for all of the sources mentioned in the CSNP fragment are stored - ~ .

2~35231 in the receiving router's link state database. This comparison allows the receiving router to determine if there are any LSP~ ~in the range of the CSNP fragment) stored in the link state database of the router that originated the CSNP, but not stored in the link state database of the receiving router. If there is a LSP mi~sing (i.e., not stored in the receiving router's link ætate database), the receiving router may, for example, send a packet to the router that ori~inated the CSNP, requecting a copy of the missing LSP.
i The receiving router also compares the sequence numbers in the received CSNP ~ragment to the sequence numbers in the receiving router's link state database. This comparison allows the receiving router to determine the relative age of the LSPs (in the range of the CSNP fragment) stored by the receiving router and by the originating router. If a LSP stored by the receiving router has a higher (i.e., more recent) sequence number than that supplied by the corresponding field 12 of the received CSNP
fragment, the receiving router may (possibly depending on the magnitude of the difference between the seguence numbers) send a copy of the more recent LSP to the router ; ~ which originated the CSNP. Similarly, if a LSP stored by the receiving router has a lower (i.e., less recent) sequence number than tha~ supplied by the corresponding field 12 of the received CSNP fragment, the receiving router may send a packet to the router that originatsd the CSNP
requesting a copy of the more recent LSP.
Finally, the receiving router checks if any other LSPs in its li~k state database lie in the range specified ; by the CSNP fragment, but do not appear in the ~SNP
fragment. Thi~ check allows the receiving router to determine if there are any LSPs (in the range of the CSNP

.

' ' :.

~ Q 3 t~

fragment) that are stored in the link state database of the receiving router, but are not stored in the link state database of the router that originated the CSNP fragment.
If there is a LSP missing (i.e., stored in the receiving router's link state database but not appearing in the CSNP
fragment), the receiving router may, for example, send a copy of the missing LSP to the router which originated the CSNP. This last step in particular is nade possible by the inclusion of range fields.
In this way, a router receiving a CSNP fragment is able to compare a portion o~ its link state database to a corresponding portion of the link state database of the router that originated the CSNP fragment. The comparison is as accurate as that provided by known CSNP schemes, but can be made from a single CSNP fragment without regard for the contents of other fragments because the comparison is limited to a range of the LSPs. Therefore, the CSNP
fragment do not all have to be received in order to compare the two databases, and, as a result, only some of the CSNP
fragments need by transmitted or received at any one time.
A CSNP ~ragment comparison such as discussed above is limited to a specified range of the two databases, and is thus necessarily incomplete. However, even when a complete CSNP is used to compare two databases, the resulting comparison is only approximate, because the time delays caused by transmission make the CSNP sequence numbers invalid before the CSNP arrives at the receiving node.
Thus, database comparisons performed through CSNP fragments (for example, by transmitting a sequence of fragments having range~ which span the entire database) are not necessarily less accurate than comparisons performed with complete CSNPs. A fragment based comparison may in fact be more accurate, because of the reduced transmission overhead (and ~3a~1 thus less delay) incurred in transmitting and comparing the smaller fragments.
Other Embodiments Embodiments other than those described above are within the scope of the following claims.
The contents of the CSNP and LSP fragments need not be mutually exclusive; rather, some neighbor fields may be included in more than one fragment.
Other information may be included in LSP fragments.
As discussed above, the LSP fragments may include link state information in addition to, or instead of, an indication of whether the link is operable or inoperable. For example, the fragment may include link performance parameters such as "cost". Although described in terms of updating link operability information, the methods described herein are equally applicable to updating these other types of link state information.
Furthermore, LSP or CSNP fragments may include other fields, for example, fields for verifying the contents of the fragments or for aging and invalidating the fragments.
In particular, U.S. Patent Application 07/398,347 of Radia J. Perlman fiied August 24, 1989 for "Robust Packet Routing over a Diætributed Network Containing Malicious Failures", incorporated by reference herein, and U.S. Patent Application Serial No. 07/364,470 of Radia J. Perlman et al.
filed June 9, 1989 for "Reliable Broadcast of Information in a Wide Area Network", incorporated by reference herein describ* additional information which may be included in CSNP or LSP ~ragments, and algorithms for using this information to enhance the robustness and error recovery of networks~
Other variations of the novel concepts described above are within the scope of the following claims.

Claims (4)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS
1. A method for updating, at a first node of a network of nodes interconnected by links, stored information used for routing packets at said first node, comprising a. sending at least one link state packet to said first node, said packet indicating the state of one or more links connected to a given node in said network, b. attempting, at said first node, to derive from the packet or packets sent in step (a), the states of said links, and c. where the states of fewer than all of the links connected to said given node are derived in step (b), updating said stored information used for routing packets using the derived link states, d. where a link connected to said given node changes from a first state to a second state, determining whether the first state of said link was indicated in a previously sent packet, e. where the first state of said link was indicated in a previous packet, sending to said first node only an amended version of said previous packet, said amended version indicating that said changed link is in said second state, and storing an indicator indicating the amendments made to said previous packet, and f. where the first state of said link was not indicated in a previous packet, sending to said first node a packet indicating that said changed link is in said second state.
2. The method of claim 1, wherein said indicator is stored in said given node.
3. The method of claim 1, further comprising g. where said changed link subsequently changes from said second state back to said first state, retrieving said stored indicator, h. forming a twice amended version of said previous packet by removing the amendments indicated by said indicator, and i. sending only said twice amended version of said packet to said first node.
4. The method of claim 3, wherein said first state is an operative state and said second state is an inoperative state, each link state packet indicates that a link connected to said given node is operative by identifying one or more nodes that are connected to the operative link, and indicates that a link connected to said given node is inoperative by omitting identification of one or more nodes that are connected to the inoperative link, and said indicator comprises a field for identifying a node and a flag bit for indicating the operability of the link connecting the identified node to said given node.
CA002035231A 1990-03-21 1991-01-29 Updating link state information networks Abandoned CA2035231A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US496,632 1990-03-21
US07/496,632 US5128926A (en) 1990-03-21 1990-03-21 Updating link state information in networks

Publications (1)

Publication Number Publication Date
CA2035231A1 true CA2035231A1 (en) 1991-09-22

Family

ID=23973485

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002035231A Abandoned CA2035231A1 (en) 1990-03-21 1991-01-29 Updating link state information networks

Country Status (6)

Country Link
US (1) US5128926A (en)
EP (1) EP0447725B1 (en)
JP (1) JPH04223632A (en)
AU (1) AU619701B2 (en)
CA (1) CA2035231A1 (en)
DE (1) DE69032466T2 (en)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241533A (en) * 1988-07-21 1993-08-31 Hitachi, Ltd. Packet switching network with alternate trunking function
US5577028A (en) * 1990-08-31 1996-11-19 Fujitsu Limited Routing system using a neural network
US5243592A (en) * 1990-10-15 1993-09-07 Digital Equipment Corporation Method and apparatus for distance vector routing on datagram point-to-point links
JP3043439B2 (en) * 1990-12-28 2000-05-22 富士通株式会社 Network storage method in data processing device
US5546540A (en) * 1991-01-14 1996-08-13 Concord Communications, Inc. Automatic topology monitor for multi-segment local area network
US5282195A (en) * 1991-09-05 1994-01-25 Raynet Corporation DSO cross-connect for floating virtual tributaries
US5506993A (en) * 1993-03-02 1996-04-09 International Business Machines Corporation Message packet transmitter
JP2520563B2 (en) * 1993-05-19 1996-07-31 日本電気株式会社 Packet switching network
US5317566A (en) * 1993-08-18 1994-05-31 Ascom Timeplex Trading Ag Least cost route selection in distributed digital communication networks
US5481673A (en) * 1993-08-20 1996-01-02 Bell Communications Research Inc. Method for cluster routing in direct link using two associated routing tables at node or signaling transfer point
JP3420621B2 (en) * 1993-11-04 2003-06-30 富士通株式会社 Distributed route selection controller for communication networks
JP3084066B2 (en) * 1993-12-24 2000-09-04 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Routing bandwidth reservation connections in information networks
US5467345A (en) * 1994-05-31 1995-11-14 Motorola, Inc. Packet routing system and method therefor
DE19531609A1 (en) * 1994-09-13 1996-03-28 Siemens Ag Communications network traffic management
US5499237A (en) * 1995-03-23 1996-03-12 Motorola, Inc. Waste canceling packet routing system and method
US5579307A (en) * 1995-03-23 1996-11-26 Motorola, Inc. Packet routing system and method with quasi-real-time control
US5583862A (en) * 1995-03-28 1996-12-10 Bay Networks, Inc. Method and apparatus for routing for virtual networks
US5654958A (en) * 1995-06-05 1997-08-05 Motorola, Inc. System and method for learning and dynamic routing of data in a mobile communication network
US5572512A (en) * 1995-07-05 1996-11-05 Motorola, Inc. Data routing method and apparatus for communication systems having multiple nodes
US5742820A (en) * 1995-07-06 1998-04-21 Novell, Inc. Mechanism for efficiently synchronizing information over a network
US5781537A (en) * 1995-07-07 1998-07-14 International Business Machines Corporation Setting up, taking down and maintaining connections in a communications network
US5657142A (en) * 1995-07-25 1997-08-12 Mci Communications Corporation Optimal allocation of multiplexing equipment and distribution of load in a fiber optic network
US5721843A (en) * 1995-08-31 1998-02-24 Lucent Technologies Inc. Optimizing network utilization by using image reconstruction techniques
US5781534A (en) * 1995-10-31 1998-07-14 Novell, Inc. Method and apparatus for determining characteristics of a path
US5699347A (en) * 1995-11-17 1997-12-16 Bay Networks, Inc. Method and apparatus for routing packets in networks having connection-oriented subnetworks
US5970502A (en) * 1996-04-23 1999-10-19 Nortel Networks Corporation Method and apparatus for synchronizing multiple copies of a database
US5854899A (en) * 1996-05-09 1998-12-29 Bay Networks, Inc. Method and apparatus for managing virtual circuits and routing packets in a network/subnetwork environment
US6308148B1 (en) 1996-05-28 2001-10-23 Cisco Technology, Inc. Network flow data export
US5966380A (en) * 1996-08-02 1999-10-12 Fore System, Inc. Processing of TLV based link-state packets
US6188675B1 (en) 1996-08-23 2001-02-13 International Business Machines Corporation System and method for self-identifying and configuring the nodes of a network
US5964841A (en) * 1997-03-03 1999-10-12 Cisco Technology, Inc. Technique for handling forwarding transients with link state routing protocol
US6356530B1 (en) * 1997-05-23 2002-03-12 Cisco Technology, Inc. Next hop selection in ATM networks
US6862284B1 (en) 1997-06-17 2005-03-01 Cisco Technology, Inc. Format for automatic generation of unique ATM addresses used for PNNI
US7570583B2 (en) 1997-12-05 2009-08-04 Cisco Technology, Inc. Extending SONET/SDH automatic protection switching
US6920112B1 (en) 1998-06-29 2005-07-19 Cisco Technology, Inc. Sampling packets for network monitoring
US6370121B1 (en) 1998-06-29 2002-04-09 Cisco Technology, Inc. Method and system for shortcut trunking of LAN bridges
US6577634B1 (en) * 1998-07-01 2003-06-10 Hitachi, Ltd. Method for sharing network information and a router apparatus
US6493342B1 (en) * 1998-09-11 2002-12-10 Teledesic Llc Method of data transmission in a data communication network
AU5877799A (en) * 1998-09-18 2000-04-10 Pixelfusion Limited Apparatus for use in a computer system
US6856627B2 (en) * 1999-01-15 2005-02-15 Cisco Technology, Inc. Method for routing information over a network
US6389468B1 (en) 1999-03-01 2002-05-14 Sun Microsystems, Inc. Method and apparatus for distributing network traffic processing on a multiprocessor computer
US6453360B1 (en) 1999-03-01 2002-09-17 Sun Microsystems, Inc. High performance network interface
US6606301B1 (en) 1999-03-01 2003-08-12 Sun Microsystems, Inc. Method and apparatus for early random discard of packets
US6650640B1 (en) * 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6483804B1 (en) 1999-03-01 2002-11-19 Sun Microsystems, Inc. Method and apparatus for dynamic packet batching with a high performance network interface
US6356951B1 (en) 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
SE521516C2 (en) * 1999-09-14 2003-11-11 Ericsson Telefon Ab L M Routing monitoring and handling device for communication network, using control device with copy of link condition database for its associated routing regions
US6914877B1 (en) * 1999-09-30 2005-07-05 Lucent Technologies Inc. System for alerting a network of changes in operational status of communication links
US6654354B1 (en) * 1999-12-22 2003-11-25 Worldcom, Inc. System and method for planning multiple MUX levels in a fiber optic network simulation plan
US7002955B1 (en) * 2000-03-06 2006-02-21 Advanced Micro Devices, Inc. Selective address table aging in a network switch based on application state determined from a received data packet
US6851035B1 (en) * 2000-07-28 2005-02-01 Marconi Communications, Inc. Method and apparatus for storing data packets with a packet boundary indicator
US7283547B1 (en) * 2000-08-11 2007-10-16 Ericsson Ab Switch fabrics logical synchronization utilizing propagation lockdown
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols
US7054263B1 (en) * 2000-10-16 2006-05-30 Telefonaktiebolaget Lm Ericsson (Publ) Synchronous change of switchplane
US6711411B1 (en) 2000-11-07 2004-03-23 Telefonaktiebolaget Lm Ericsson (Publ) Management of synchronization network
US7042850B2 (en) * 2001-11-09 2006-05-09 Fujitsu Limited Focused link state advertisements
US20040006640A1 (en) * 2002-07-03 2004-01-08 Inderieden Daniel W. Notification to routing protocols of changes to routing information base
US7983239B1 (en) 2003-01-07 2011-07-19 Raytheon Bbn Technologies Corp. Systems and methods for constructing a virtual model of a multi-hop, multi-access network
US7707307B2 (en) * 2003-01-09 2010-04-27 Cisco Technology, Inc. Method and apparatus for constructing a backup route in a data communications network
US20040246902A1 (en) * 2003-06-02 2004-12-09 Weinstein Joseph J. Systems and methods for synchronizing multple copies of a database using datablase digest
US7881229B2 (en) 2003-08-08 2011-02-01 Raytheon Bbn Technologies Corp. Systems and methods for forming an adjacency graph for exchanging network routing data
US7606927B2 (en) 2003-08-27 2009-10-20 Bbn Technologies Corp Systems and methods for forwarding data units in a communications network
US7668083B1 (en) 2003-10-28 2010-02-23 Bbn Technologies Corp. Systems and methods for forwarding data in a communications network
US7710882B1 (en) * 2004-03-03 2010-05-04 Cisco Technology, Inc. Method and apparatus for computing routing information for a data communications network
JP4692021B2 (en) * 2004-04-15 2011-06-01 株式会社日立製作所 Mobile communication method
US7848240B2 (en) * 2004-06-01 2010-12-07 Cisco Technology, Inc. Method and apparatus for forwarding data in a data communications network
KR100724911B1 (en) * 2004-08-17 2007-06-04 삼성전자주식회사 Method and system for forming and transmitting/receiving neighbor base station information in a communication system
EP1628439B1 (en) * 2004-08-17 2012-05-30 Samsung Electronics Co., Ltd. Method and system for forming and transmitting/receiving neighbor base station information in a BWA communication system
US7359285B2 (en) 2005-08-23 2008-04-15 Bbn Technologies Corp. Systems and methods for determining shooter locations with weak muzzle detection
US7126877B2 (en) 2004-08-24 2006-10-24 Bbn Technologies Corp. System and method for disambiguating shooter locations
US7190633B2 (en) 2004-08-24 2007-03-13 Bbn Technologies Corp. Self-calibrating shooter estimation
GB2418797A (en) * 2004-10-02 2006-04-05 Hewlett Packard Development Co Re-assembling packet fragments in a subnet cluster
CN101036349B (en) * 2004-11-15 2014-07-30 思科技术公司 CSNP cache for efficient periodic CSNP in a router
JP4671707B2 (en) * 2005-02-18 2011-04-20 富士通株式会社 Multicast routing program, multicast routing method, and multicast router
US7848224B2 (en) * 2005-07-05 2010-12-07 Cisco Technology, Inc. Method and apparatus for constructing a repair path for multicast data
US8300798B1 (en) 2006-04-03 2012-10-30 Wai Wu Intelligent communication routing system and method
US7751336B2 (en) * 2006-06-08 2010-07-06 Cisco Technology, Inc. Technique for efficiently avoiding transient routing disturbances in link state routing protocols with link state packet fragmentation
US20080034147A1 (en) * 2006-08-01 2008-02-07 Robert Stubbs Method and system for transferring packets between devices connected to a PCI-Express bus
US9210067B1 (en) * 2008-07-11 2015-12-08 Google Inc. Method and apparatus for exchanging routing information
US8437223B2 (en) 2008-07-28 2013-05-07 Raytheon Bbn Technologies Corp. System and methods for detecting shooter locations from an aircraft
US8139504B2 (en) 2009-04-07 2012-03-20 Raytheon Bbn Technologies Corp. System, device, and method for unifying differently-routed networks using virtual topology representations
US8514876B2 (en) * 2009-08-11 2013-08-20 Cisco Technology, Inc. Method and apparatus for sequencing operations for an incoming interface check in data center ethernet
US8320217B1 (en) 2009-10-01 2012-11-27 Raytheon Bbn Technologies Corp. Systems and methods for disambiguating shooter locations with shockwave-only location
US8830867B2 (en) * 2011-07-21 2014-09-09 Telefonaktiebolaget L M Ericsson (Publ) Methods and network elements operable to specify and determine complete sets of link state messages for link state routing protocols
JP5983073B2 (en) * 2012-06-15 2016-08-31 ソニー株式会社 Information processing apparatus and method, and program
US10623300B2 (en) 2016-03-28 2020-04-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for adaptive flow control of link-state information from link-state source to border gateway protocol (BGP)
US10873473B2 (en) * 2017-07-17 2020-12-22 Nicira, Inc. Distributed multicast logical router
US10523455B2 (en) 2017-07-17 2019-12-31 Nicira, Inc. Distributed multicast logical router
US10218523B2 (en) 2017-07-17 2019-02-26 Nicira, Inc. Using a central controller cluster to configure a distributed multicast logical router
US11323360B2 (en) * 2019-12-19 2022-05-03 Juniper Networks, Inc. Sequence number checksum for link state protocols
US11895010B2 (en) 2021-06-29 2024-02-06 VMware LLC Active-active support of multicast streams in virtualized environment
US11595296B2 (en) 2021-06-29 2023-02-28 Vmware, Inc. Active-active support of multicast streams in virtualized environment
US11784926B2 (en) 2021-11-22 2023-10-10 Vmware, Inc. Optimized processing of multicast data messages in a host

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4700184A (en) * 1981-10-15 1987-10-13 L'etat Francais One-way data packet transmission system for processing data arranged in groups
US4466060A (en) * 1982-02-11 1984-08-14 At&T Bell Telephone Laboratories, Incorporated Message routing in a computer network
US4534024A (en) * 1982-12-02 1985-08-06 At&T Bell Laboratories System and method for controlling a multiple access data communications system including both data packets and voice packets being communicated over a cable television system
CA1220830A (en) * 1984-12-28 1987-04-21 David S. Drynan Transmitting sequence numbers of information in a packet data transmission system
US4669113A (en) * 1985-04-26 1987-05-26 At&T Company Integrated network controller for a dynamic nonhierarchical routing switching network
US4742511A (en) * 1985-06-13 1988-05-03 Texas Instruments Incorporated Method and apparatus for routing packets in a multinode computer interconnect network
US4670871A (en) * 1985-06-27 1987-06-02 American Telephone And Telegraph Company, At&T Bell Laboratories Reliable synchronous inter-node communication in a self-routing network
US4706080A (en) * 1985-08-26 1987-11-10 Bell Communications Research, Inc. Interconnection of broadcast networks
JPH0831876B2 (en) * 1985-09-20 1996-03-27 株式会社日立製作所 Routing control method in packet switching network
US4737983A (en) * 1985-10-02 1988-04-12 American Telephone And Telegraph Company Communications, Inc. Automatic call distributor telephone service
US4656658A (en) * 1985-10-11 1987-04-07 American Telephone And Telegraph Company Network routing arrangement
US4691314A (en) * 1985-10-30 1987-09-01 Microcom, Inc. Method and apparatus for transmitting data in adjustable-sized packets
DE3687400T2 (en) * 1985-11-04 1993-07-15 Ibm DIGITAL NEWS TRANSMISSION NETWORKS AND STRUCTURE OF TRANSMISSION WAYS IN THESE NETWORKS.
GB8528891D0 (en) * 1985-11-23 1986-01-02 Int Computers Ltd Data transmission system
US4679189A (en) * 1985-11-27 1987-07-07 American Telephone And Telegraph Company Alternate routing arrangement
US4704724A (en) * 1985-12-05 1987-11-03 Bell Communications Research, Inc. Routing of network traffic
BE904101A (en) * 1986-01-24 1986-07-24 Bell Telephone Mfg Cy IMAGE PROCESSING SYSTEM AND PHASE LOCKING LOOP APPLIED THEREIN.
US4740954A (en) * 1986-12-31 1988-04-26 Bell Communications Research, Inc. Multicast routing algorithm
JP2679983B2 (en) * 1987-03-06 1997-11-19 株式会社日立製作所 Control information transmission method in communication network
US4788721A (en) * 1987-12-09 1988-11-29 Bell Communications Research, Inc. Routing of network traffic

Also Published As

Publication number Publication date
EP0447725B1 (en) 1998-07-08
EP0447725A3 (en) 1992-09-16
AU619701B2 (en) 1992-01-30
EP0447725A2 (en) 1991-09-25
US5128926A (en) 1992-07-07
DE69032466T2 (en) 1999-01-07
DE69032466D1 (en) 1998-08-13
JPH04223632A (en) 1992-08-13
AU6924891A (en) 1991-10-03

Similar Documents

Publication Publication Date Title
EP0447725B1 (en) Updating link state information in networks
EP0481610B1 (en) Method and apparatus for distance vector routing on datagram point-to-point links
US7668082B1 (en) Network routing using link failure information
US5175765A (en) Robust data broadcast over a distributed network with malicious failures
EP0836779B1 (en) Mechanism for efficiently synchronizing information over a network
JP3688877B2 (en) Node device and label switching path loop detection method
US5265092A (en) Synchronization mechanism for link state packet routing
US7174387B1 (en) Methods and apparatus for requesting link state information
US6990111B2 (en) Adaptive path discovery process for routing data packets in a multinode network
JP4262784B2 (en) Wireless networked message routing means
Lougheed et al. Border gateway protocol 3 (bgp-3)
US8243604B2 (en) Fast computation of alterative packet routes
JP3388512B2 (en) Managing routing in packet communication networks
Steenstrup Inter-domain policy routing protocol specification: Version 1
WO2001077830A1 (en) Systems and methods for routing packets on alternate paths
JP2001339431A (en) Communication system, repeater, end system and communication method
EP0836780A1 (en) Network addressing arrangement for backward compatible routing of an expanded address space
WO2022036764A1 (en) Method and apparatus for protecting stateful service function paths
US6289096B1 (en) Call routing method using prioritized source-destination routes
CN110149276B (en) Multicast forwarding method and device
US7869350B1 (en) Method and apparatus for determining a data communication network repair strategy
JP2008167464A (en) Method and apparatus for processing tlv-based link-state packet
US7995497B2 (en) Spontaneous topology discovery in a multi-node computer system
JP3073962B2 (en) Route selection device
Spinelli Reliable data communication in faulty computer networks

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued