Open Shortest Path First (OSPF) Protocol fundamentals
Open shortest path first (OSPF) is a link-state routing protocol that is used to find the best path between the source and the destination router using its own shortest path first (SPF) algorithm. A link-state routing protocol is a protocol that uses the concept of triggered updates, i.e., if there is a change observed in the learned routing table then the updates are triggered only, not like the distance-vector routing protocol where the routing table is exchanged at a period of time.
Open shortest path first (OSPF) is developed by Internet Engineering Task Force (IETF) as one of the Interior Gateway Protocol (IGP), i.e., the protocol which aims at moving the packet within a large autonomous system or routing domain. It is a network layer protocol that works on protocol number 89 and uses AD value 110. OSPF uses multicast address 220.127.116.11 for normal communication and 18.104.22.168 for update to designated router(DR)/Backup Designated Router (BDR).
To form neighbourship in OSPF, there is a criterion for both the routers:
- It should be present in the same area.
- The router I’d be unique.
- The subnet mask should be the same.
- Hello, and the dead timer should be the same.
- The stub flag must match.
- Authentication must match.
OSPF supports NULL, plain text, MD5 authentication.
Note – Both the routers (neighbors) should have some type of authentication enabled. e.g- if one neighbor has MD5 authentication enabled then others should also have MD5 authentication enabled.
OSPF messages –
OSPF uses certain messages for the communication between the routers operating OSPF.
- Hello message –
These are keep-alive messages used for neighbor discovery /recovery. These are exchanged every 10 seconds. This includes the following information: Router I’d, Hello/dead interval, Area I’d, Router priority, DR and BDR IP address, authentication data.
- Database Description (DBD) –
It is the OSPF route of the router. This contains the topology of an AS or an area (routing domain).
- Link state request (LSR) –
When a router receives DBD, it compares it with its own DBD. If the DBD received has some more updates than its own DBD then LSR is being sent to its neighbor.
- Link state update (LSU) –
When a router receives LSR, it responds with an LSU message containing the details requested.
- Link state acknowledgement –
This provides reliability to the link-state exchange process. It is sent as the acknowledgement of LSU.
- Link state advertisement (LSA) –
It is an OSPF data packet that contains link-state routing information, shared only with the routers to which adjacency has been formed.
Note – Link State Advertisement and Link State Acknowledgement both are different messages.
- Hello timer –
The interval in which the OSPF router sends a hello message on an interface. It is 10 seconds by default.
- Dead timer –
The interval in which the neighbor will be declared dead if it is not able to send the hello packet. It is 40 seconds by default. It is usually 4 times the hello interval but can be configured manually according to need.
OSPF supports/provides/advantages –
- Both IPv4 and IPv6 routed protocols
- Load balancing with equal-cost routes for the same destination
- VLSM and route summarization
- Unlimited hop counts
- Trigger updates for fast convergence
- A loop-free topology using SPF algorithm
- Run-on most routers
- Classless protocol
There are some disadvantages of OSPF like, it requires an extra CPU process to run the SPF algorithm, requiring more RAM to store adjacency topology, and being more complex to set up and hard to troubleshoot.