Link State Routing Protocols have a totally different mechanism for the exchange of routing information and the calculation of network paths. As we have discussed in the previous lessons a distance vector routing protocol do not posses the topological information about the network but instead relies on the neighbor’s information, which is the reason this method is known as routing by rumor. Link State routing protocols on the other hand have complete topological information about the network. Each router running a link-state routing protocol will originate information about itself and its directly connected links and the state of those links, this information is passed from router to router without any modification, each router will keep this information in the Link State database and all routers will have an identical database. Once all routers have an identical copy of the database each router will independently run the Dijkstra’s Shortest Path First algorithm to calculate the best paths.
Some of the characteristics of Link State routing protocols are mentioned below but there is an upcoming lesson in which we go in detail of how link-state routing protocols work.
- Neighbor discovery is the first step, Link State protocols use the Hello Protocol to discover, establish, and maintain neighborship.
- Each router will establish an adjacency with its neighbors by exchanging the Link State Advertisements (LSA). LSAs are list network topological information.
- All routers after they have exchanged LSAs and agree on an identical Link State Database will run the Dijkstra’s Shortest Path First algorithm to calculate the best paths.
- If there is a change in a state of link only a specific LSA notifying the change will be sent. Unlike distance vector protocols full routing table updates that unnecessarily consume bandwidth are not sent.
- Link State protocols also provide the option to logically divide the network into areas for scalability and growth
- Link State routing protocols utilize more memory and CPU as compared to distance vector protocols.
Open Shortest Path First (OSPF) and Intermediate Systems-to-Intermediate Systems (IS-IS) are examples of Link State routing protocols.
Open Shortest Path First (OSPF) is an open standard protocol developed by IETF due limitations with the Routing Information Protocol (RIP). OSPF’s major advantages over RIP and other distance vector routing protocol include fast convergence, support for large scalable networks etc. OSPF uses cost as the metric which is much more robust then RIP’s hop count which puts the limit to maximum 16 routes and also allows for equal-cost load balancing for more efficient use of multiple paths.
OSPF uses the hello protocol to form and keep track of neighborships, and it builds adjacencies with neighbors by exchanging link-state information using link state advertisements.
RouterA(config)# router ospf 100
RouterA(config-router)# network 10.10.1.0 0.0.0.255 area 0
RouterA(config-router)# network 192.168.1.0 0.0.0.255 area 0
RouterB(config)# router ospf 100
RouterB(config-router)# network 10.10.1.0 0.0.0.255 area 0
RouterB(config-router)# network 192.168.1.0 0.0.0.255 area 0
OSPF configuration is also very simple, we enter the routing protocol configuration mode by entering the command ‘router ospf 100’, 100 is the OSPF process number, and then we enable the ospf process on our links using the network command. OSPF uses the concept of areas to logically divide the network for scalability.
Modifying OSPF Update
OSPF uses cost as the metric which is based on the interface bandwidth. The formula to calculate cost is shown below
COST = REFERENCE_BANDWIDTH / INTERFACE_BANDWITDH
Where REF_ BANDWITDH = 100 Mbps
So Router B will have an OSPF route in its routing table for the prefix 10.10.1.0/24 with a metric of 2 (1+1) since both links are Fast Ethernet (100 Mbps). This can be confirmed by viewing the Router B’s routing table.
|RB# show ip route | include 10.10.1.0/24|
[110/2] via 192.168.1.1, 00:10:06, FastEthernet0/0
We can modify the cost of an OSPF enabled interface using the command ‘ip ospf cost [cost]”
RouterA(config)# interface fastethernet 0/1
RouterA(config-if)# ip ospf cost 10
We have modified the cost of Fast Ethernet 0/1 Interface on Router A to 10, and now the routing table on Router B will have the following information.
|RB# show ip route | include 10.10.1.0/24|
10.10.1.0 [110/11] via 192.168.1.1, 00:2:05, FastEthernet0/0
This will finish our introduction with Link State routing protocols, we will discuss in detail about the workings and operation of Link State routing protocols in an upcoming lesson.