Why BGP?
This question is mostly repeated by newbies when they start learning about BGP and sometimes it is left unanswered clearly. In the simple dialogue below I will try to explain when BGP is mostly used and why?
Can we connect two or more networks by an IGP?
The answer is yes from the technical point of view, you can use an IGP to connect one or more networks and exchange routing information between them. From the design point of view the answer is may be or it depends on the specific case, however generally speaking this is not a best practice or good design practice.
But, What issues may I run through if I connected different Autonomous systems via IGP?
Some of the issues you may run through when using an IGP to connect two AS are:
- Local problems can cause global effects. This means you can simply be affected by a link flapping in the other AS or any other routing problem. In other words you are risking you internal routing domain stability and security.
- Lack of control over your traffic because IGPs do not carry much information about the networks they are advertising so you can not easily distinguish between these routes.
- Information hiding and route filtering is not so easy to implement in IGPs specially link state protocols.
- You may run into scalability issues because information about your network and other connected networks will be distributed to all routers in your network, even the small ones.
- Imagine how difficult troubleshooting problems can be when you have all these internal and external routes in the same database with no separation.
Those are some of the issues that discourage using an IGP for connecting two or more different networks.
So, How BGP is solving these issues?
To sufficiently answer this question you can go read a full book describing BGP and its operation. However, for now we can say that BGP has offered the following solutions to the above problems:
- Full separation between your IGP and BGP tables can be maintained in your network. Hence, problems in the IGP can be simply isolated from affecting other Autonomous systems, troubleshooting problems can be easy, easy information hiding and
- BGP updates carr far more information about a route than any IGP in its BGP attributes. BGP attributes allows for very complex and customized network policies.
- Ability to scale because not all routers in the network need to run BGP or have the full BGP information to operate.
Ok, but every benefit comes at a cost; what is the cost of using BGP?
The first cost is simply the need to learn BGP in order to integrate it effectively in your network design. Secondly BGP consume more resources in terms of memory and CPU cycles, as BGP creates its own tables and calculations.
Mohamed has a series of posts in the BGP section explaining the BGP performance tuning process make sure to check it.
This was only a warm up post after being away for about 3 weeks, more to come soon.