I’m building a new ISP network, what routing protocol should I use?
Discussing BGP and comparing IGP Protocols (IS-IS vs OSPF).
Decision what routing protocol to use is the one that needs to be made by every network administrator embarking on a journey of building a brand new network. You might have some previous experience with OSPF, EIGRP or even RIP. Should you continue to use these protocols for your new network? Or should you try something new? Although there is no simple answer to this question, in this article we will attempt to explain various aspects of this decision.
IGP vs EGP
IGP means Interior Routing Protocol, and EGP – Exterior Routing Protocol.
OSPF, IS-IS, RIP and EIGRP are IGP Protocols. BGP is the only available EGP Protocol.
The original intent of protocol designers was to use IGP within the boundaries of a network and EGP outside of these boundaries.
We’ll use an example of three networks interconnected as follows:
If everybody follows the rules, there will be three IGP domains – one within each network. There is no need to use the same IGP protocol in these three networks. Nothing prevents Network A from using RIP, while Network B leverages OSPF and Network C employs IS-IS.
It is important that common EGP protocol is used to connect these networks together. In fact, there is only one EGP protocol in existence – BGPv4, so the choice of EGP protocol is not difficult.
As discussed earlier, IGP is intended to be used within the network, while EGP would be used outside of the network. In reality, things might be different.
Many service providers will be glad to sell you an IP VPN service where you would use RIP or OSPF or even EIGRP to exchange routes. Strictly speaking, this is a violation of an IGP protocol intent as your network and your ISP’s network are two different administrative entities.
Likewise, some of the biggest networks in the world rely on BGP only and do not use IGP. For example, refer to Microsoft’s presentation ‘BGP is the Better IGP.’
Are you Enterprise or SP?
Assuming you are not as adventurous as Facebook or Microsoft, you may want to follow the same design pattern that has been used by tens of thousands of network administrators across the globe. The first question to ask yourself is what type of a network am I building?
Is this an Enterprise-type network or a Service Provider-type network? While the difference between these becomes more and more blurry, some common characteristics of Enterprise vs SP networks are summarized in this table:
|Single Customer||Multiple Customers|
|Tenant Separation using VLANs and Firewalls||Tenant Separation using VRFs|
|Ethernet/IP Network||MPLS-enabled Networks|
If the answer is ‘Enterprise’ – pick OSPF as your routing protocol. OSPF is supported by the vast majority of network vendors, it is very mature and scalable.
If the answer is ‘Service Provider’, please continue to the next chapter.
Recommendations for Service Providers
As a SP, you have no choice but to adopt BGP to carry your customers’ routes. Yes, you might be tempted to save some money on BGP licensing costs and come up with unique design that would not require BGP, but please don’t do this. You will suffer in a long run as the cost of network outages and future BGP migration pain will by far exceed short term savings.
Likewise, you might be tempted not to use IGP at all and build a BGP-only network. While this is definitely possible, this is not the mainstream architecture.
Most of the Service Providers would elect to use IGP to carry Infrastructure IPs and BGP to carry customer routes. This is what we recommend you to do as well.
|Infrastructure (P, PE) Loopbacks||IGP||Next-Hop Reachability within the Network|
|Infrastructure (P, PE) Point-to-Point||IGP||IGP Database, troubleshooting within ISP Network|
|Customer routes including CPE Loopbacks and Point-to-Point IPs||BGP||Scalability and Administrative Separations|
|Peering Partners’ Routers including Point-to-Point IPs||BGP||Scalability and Administrative Separations|
Let us reiterate the fact that all customer routes must be in BGP. As your network grows and the number of customers increases, you will run into issue by carrying customer routes (including point-to-point IPs) in IGP.
IS-IS vs OSPF vs RIP vs EIGRP
For service provider, IS-IS and OSPF are the only two choices to be considered. EIGRP might have worked in an a Campus network you might be familiar with, but it should be avoided in Service Provider deployment. EIGRP is not multi-vendor, it does not support RSVP-TE or Segment Routing and it’s not the easiest protocol to troubleshoot in large environments.
Between IS-IS and OSPF, it’s really a matter of personal choice. Both protocols are used by some of the largest ISPs in the world, so scale is not an issue. IS-IS has a tendency to have new features implemented first, but more engineers are familiar with OSPF. Author’s personal preference is to use IS-IS for new networks, but frankly speaking the difference is not that big.
Why there are so many IGP protocols but only one EGP Protocol?
IGP protocols are used within company’s boundaries and are not visible outside, allowing network administrators to leverage the protocol of their choice. As different protocols have various advantages (perceived simplicity of RIP, vendor support behind EIGRP, scalability of OSPF), there has not been a strong enough reason for one protocol to win over all others.
With EGP things are different – it is used to interconnect networks under different administrative controls. Speaking the same language (protocol) is the only way to make sure that networks can understand each other.
Can I migrate from one IGP protocol to another?
Yes, many companies have replaced their IGP protocols. In the Enterprise space, this usually means migration from the legacy (RIP) or proprietary (EIGRP) protocols to OSPF.
In the Service Provider Space, some companies are moving from OSPF to IS-IS. Typical migration scenario would be to start deploying the second IGP protocol in parallel to the first IGP (ships in the night approach). When the new IGP is fully deployed, the old IGP can be removed.
If you have questions on how and why to migrate, please leave us a note below.
How to solve Next-Hop Reachability problem if I don’t put customer routes in IGP?
Use Next-Hop-Self on IBGP Sessions. Refer to ‘BGP Next-Hop-Self Explained’ for more information.
Do I still need to run IGP if I’m building MPLS network?
Yes, you still need to run IGP. IGP is a foundation of any MPLS network. Without IGP, you will not be able to bring up LDP, RSVP-TE or BGP sessions. Segment Routing (SPRING) – also needs IGP.
I’m still confused, what routing protocol should I use?
OSPF if you are running Enterprise Network.
IS-IS and BGP or OSPF and BGP if you are working for an ISP.