OSPF&BGP:
Both OSPF (Open Shortest Path First) and BGP (Border Gateway Protocol) are routing protocols that make routing decisions across the Internet. They represent a set of rules or algorithms that instruct network routers on how to communicate with each other, so they can redirect traffic to the best path. OSPF vs BGP, what are their differences? How to choose between the two?


OSPF vs BGP: What Are the Differences?
The main difference between OSPF and BGP is that OSPF is an intra-domain routing protocol using link-state routing, and the routing operation is performed inside an autonomous system while BGP is the inter-domain routing protocol that uses path-vector routing, with the routing operations performed between two autonomous systems. Some other distinctions between OSPF vs BGP include:
Configuration: OSPF is easily configured while BGP configuration is a lot more complex.
Convergence rate: OSPF can achieve convergence (the time a router takes to share and update the latest routing information) faster. In contrast, the BGP has a slow convergence rate.
Network topology or design: OSPF is a type of hierarchical network topology or design while BGP is a type of mesh topology or design.
Resources requirement: OSPF requires intensive use of memory and CPU resources. With BGP on the other hand, the size of the routing table dictates the required device resources.
Scale: BGP is more flexible and scalable than OSPF and it is also used on a larger network.
Preferred path: OSPF is used to determine the fastest route while BGP puts emphasis on determining the best path.
Protocol: In OSPF, internet protocol is used. While in BGP, the transmission control protocol is used.

Here is a chart summarizing the differences of OSPF vs BGP:
| OSPF | BGP | |
|---|---|---|
| Gateway Protocol | Internal gateway protocol | External gateway protocol |
| Implementation | Easy | Complex |
| Convergence | Fast | Slow |
| Design | Hierarchical network possible | Meshed |
| Need for device resources | Memory and CPU Intensive | Scaling is better in BGP although it relies on the size of the routing table |
| Size of the networks | Used on primarily smaller-scale network which could be administered centrally | Mostly used on large scale networks such as the internet |
| Function | The fastest route is preferred over the shortest | The best path is determined for the datagram |
| Algorithm Used | Dijkstra algorithm | Best path algorithm |
| Protocol | IP | TCP |
OSPF vs BGP: How to Choose?
Now that you have gained a basic understanding of OSPF and BGP, you may want to know when and how to choose from or apply them? On the one hand, if you are conducting internal routings, such as routing within a site, company, or campus, you will want to use OSPF as it is used for internal network routing. This would typically work between switches and routers in the same location. On the other hand, if you are looking at building in-site with multiple homes, you might want to consider BGP. Generally, most of the service providers would adopt the BGP to carry customers' routes.
One thing to mention is that they do not necessarily compete with each other, instead, they are used together in most cases. In the data center, OSPF is usually the common protocol for internal routing between network switches and/or routers. When that traffic needs to travel to another organization, whether it be to an MPLS network with other sites or the internet, BGP usually comes into play.
Although BGP is used between multiple autonomous systems as an external routing protocol, many network giants like Microsoft and Facebook would use it internally – in this case, BGP is typically fit for very large networks which OSPF fails to handle. One of the many reasons that BGP does not function well as an internal gateway protocol is that it is very slow to converge.
Sources: f5.com

