When, Where and Why BGP should be used ??
Alrite guys… Lets talk about BGP today…. This post is for all those guys who think they can do wonders with BGP or BGP is a must to know if you want to sustain in the industry… 
Well lets talk about the scenarios where BGP would be deployed by an enterprise customer  (Will talk about ISPs in next post)
Scenario 1 (& prbably the only scenario where BGP for an enterprise customer makes sense) –
A company XYZ is running some mission critical servers in its datacenter and want to have maximum possible 99.999% uptime. What do we suggest now ?
– All Redundant hardware
– Redundant power sources
– All kind of Physical Security
– & a DR & BCP
and another most important component would be the connectivity – Redundant & from different ISP (with separate routes and exit gateways). Now its very easy to have failover for your outgoing traffic, you can achieve this by using some Link Loadbalancers or Cisco PfR etc… but the real challenge arises when you wish to load balance and failover your incoming traffic from various ISP ?

hmmm.. is that a problem ??

Well, yes… we just need to think again.. what happens when we approach any ISP for internet bandwidth – They would give you connectivity and a pool of IP addresses from its pool of IP addresses which has been allocated to the ISP from IANA. Now every ISP would have a separate pool of IP addresses and would not be able to terminate and route IP addresses from another ISP… Makes sense ???

Okie… 

now when an ISP would not provide you failover on the IP pool of another ISP whenever you need it (when your link goes down) what should you do to keep your mission critical servers up and running ?
lets bring in the BGP now…
In this we would approach our regional registrar (APNIC – In case of India) and request them for a BGP AS number along with a pool of IP addresses. If your request is accepted and processed, we would be assigned with a Public AS number and a pool of public IP addresses.

once we have that available – we have the control with us… how ??

okie.. 

lets talk technology !!! (Design rather)

Now after having our own AS and Public IP pool, when we would invite ISPs to provide us the bandwith and connectivity, we would provide them with an IP address to use on their devices and would configure BGP peering with their routers. sounds confusing ?? 

okie.. lets try to make it simple…

earlier ISPs were giving you the IP from their pool, Now you are providing IP addresses to the ISPs to route them for you and BGP manages the whole show once the config is done.

Now everybody around the world would have multiple path to reach your IP space and you dont have worry about any manual configuration changes to make your routing work…


So, what do we achieved ??

we achieved maximum possible uptime by getting the IP addresses of our servers routed via multiple ISPs, to have failover and load balancing for incoming traffic without making any manual changes in the routing or without using any tricks like DynDNS…
Hope that clears the fundamental use of BGP for an enterprise & why we call BGP a protocol for internet…