|
Link State Routing
This is the process by which nodes in a network gather information from all other nodes in the network. Once this occurs, each node is then able to build their own forwarding table based on Dijkstra's shortest-path algorithm. The information a node sends to other nodes is called the Link State Packet (LSP). This packet contains the ID of the node that created the LSP, a list of directly connected neighbors to that node and associated costs of the links to the neighbors. The packet also contains two other pieces of information: a sequence number and a time to live (TTL) for the packet. The sequence number in an LSP is incremented each time a node sends a new LSP. This prevents nodes from using an older LSP instead of a more recent one. The TTL field in the LSP is used to prevent an LSP from being endlessly forwarded through the network. Each time the LSP is forwarded, the TTL value is decremented. When the TTL reaches some lower bound, such as 0, the LSP is no longer forwarded. At each node, a table stores the LSPs which the node receives. Whenever a node receives an LSP, the node checks the source ID and the sequence number of the LSP to the corresponding LSP stored in its table. If the LSP received has a larger sequence number, it is a newer LSP and is stored in the node's table. When a new LSP is entered into the LSP table, the node performs Dijkstra's shortest path algorithm to determine what the shortest path is from itself to every other node on the network. The results of this algorithm are stored in the nodes forwarding table. Periodically, a node has to send its LSP out to the other nodes in the network. It does this a regular intervals so that the other nodes have the most current information about that node, and also to let the other nodes know that it is still active.
|