BGP - [Part 1] - QUICK REVIEW

Protocol Type -  Path Vector Routing Protocol

Cisco Proprietary -  No

IGP/EGP - EGP (Exterior Gateway Protocol)

Administrative Distance - Internal BGP - 200, External BGP - 20

Routed Protocol Support -  IPv4 (IPv6 in BGPv4)

Transport Protocol -TCP port 179

Updates - Only Changes (Triggered)

VLSM/CIDR Support - Support

Classlful/Classless Protocol  - Classless Protocol

Dis-contiguous Network Support - Support

Hop Count Limit - EBGP Neighbors - 1 (Default) you can change it by modifying TTL value via EBGP multihop command,   IBGP Neighbors - None

Algorithm - Path Vector

Broadcast/Multicast/Uni-cast Based -  Uni-cast Based

Authentication - MD5 (Message Digest 5) Authentication

Hierarchical Network Requirement -  We can also use concept of autonomous system in BGP.

Attributes - 
  1. Well-known mandatory - It will be recognized by all BGP routers, it will be present in all BGP updates, it will be passed on to other BGP routers. Example - AS pathOrigin, and Next hop.
  2. Well-known discretionary - It will be recognized by all BGP routers, it will be passed on to other BGP routers, but no need to be present in an update. Example - Local Preference.
  3. Optional transitive - Might be recognized by a BGP router or might not be recognized, it will be passed on to other BGP routers. If it will not be recognized, then it will be marked as partial. Example - AggregatorCommunity.
  4. Optional non-transitive - Might be recognized by a BGP router or might not be recognized, it will not be passed on to other BGP routers. Example - Multi-Exit Discriminator (MED)Originator ID.

Manual Summarization Support - Support

Auto Summarization Support - Support

Working Process - 
  • BGP passes through some states (Idle, Connect, Active, Open Sent, Open Confirm, Established) to establish the neighbor-ship.
  • It chooses the best path on the basis of attributes (Highest Weight, Highest Local Preference, Locally Originated Route, Shortest Autonomous System Path, Lowest Origin Code, Lowest MED, EBGP over IBGP route, Lowest IGP Metrices, Oldest Route, Lowest Router ID, Lowest IP Address) evaluation  
  • BGP is a Exterior Gateway Protocol, it is used to exchange routing and reachability information among Autonomous Systems on the Internet.
  • It is a path vector protocol. BGP makes routing decisions based on Path, Attributes,  Network Policies, or rule-sets configured by a network admin and it is also used to  making core routing decisions.We can use IBGP for routing within an autonomous system.
  • BGP is highly scalable routing protocol, it can exchange information about several hundred thousand IP prefixes.

Loop Avoidance Mechanism -  
  • Split Horizon Rule (This mechanism for IBGP) - When a router learn routes from an IBGP peer, that router does not advertise the same routes to another IBGP peer.
  • By using AS_PATH (This mechanism for EBGP) - When an EBGP peer advertises to an EBGP peer, then BGP router adds its own ASN to the AS_PATH. If a BGP router receives an update then it will check AS_PATH list, if it found its own ASN in that list , the router will ignores that route.

Best Path Selection - BGP uses the multiple attribute to select the best path, it select the best path after evaluation of these attributes.

BGP path selection criteria given below with sequence on basis of priority.
  1. Route with the highest Weight.
  2. Route with the highest Local Preference.
  3. Routes which is Originated from this router.
  4. Route with the shortest Autonomous System Path.
  5. Route with the lowest Origin Code (i - lowest, e - next, ? - last).
  6. Route with the lowest MED.
  7. An EBGP route over an IBGP route.
  8. Route through the nearest IGP neighbor as determined by the Lowest IGP Metric.
  9. Oldest Route
  10. Route through the neighbor with the Lowest Router ID.
  11. Route through the neighbor with the Lowest IP Address.


Load Balancing - BGP does not load balance across links by default.

Passive Interface -  BGP does not use broadcast or multicast packet to form neighborship and send routing updates, it uses only unicast packet, so it does not support passive interface command.

Packets - 
  • Open
  • Update
  • Keep-alive
  • Notification

States -
  • Idle
  • Connect 
  • Active 
  • Open Sent 
  • Open Confirm 
  • Established

Convergence - Slow

Timer -
  • Hold Down timer - By default Hold Down Timer is 180 Seconds. We can change it manually. 
  • Keep-alive Interval - By default Keep-alive Interval is 60 seconds.
  • Advertisement Interval - In Cisco, the default advertisement interval is 30 seconds for eBGP neighbors and 0 seconds for iBGP neighbors
  • Scan Timer - By default Scan timer is 60 seconds. We can change it manually

Memory requirements - 
  • If you will accept only default routes from service providers, then BGP will not require more memory than a standard router memory. "How much memory required in BGP" it depends on  how much routing information you will select to receive. It is very intensive to run full table
  • As per Cisco, minimum 512 MB of RAM should be available in the router to store complete global BGP routing table from one peer.
  • But I want to inform you , "How much memory required in router to receive the complete BGP routing table from ISP" it depend on the multiple parameter (Router model, Community, Attributes, Route Dampening, Total available alternate path and other things). So it is difficult to calculate the memory required to store the complete BGP routing table from ISP

Bandwidth and CPU requirements - 
  • Once BGP peers establish a neighbor relationship, then they will share their full routing table., so at this stage BGP require the highest number of CPU cycles. After the initial exchange, Keep-alive message are exchange between peers after every 30 Seconds and only changes to the routing table will be forwarded to peers.
  • "How much amount of CPU cycles consumed by BGP" it depends on the internet stability, if internet is stable then keep-alive will take a very little amount of CPU cycles 

Strength - 
  • Flexibility - BGP chooses the best path on the basis of attributes (Highest Weight, Highest Local Preference, Locally Originated Route, Shortest Autonomous System Path, Lowest Origin Code, Lowest MED, EBGP over IBGP route, Lowest IGP Matrices, Oldest Route, Lowest Router ID, Lowest IP Address) evaluation. And it uses some mechanism for loop avoidance like Split Horizon Rule (This mechanism for IBGP) and AS_PATH (This mechanism for EBGP) 
  • Scalability - BGP is highly scalable routing protocol, it can exchange information about several hundred thousand IP prefixes.
  • Reliability - BGP uses TCP to provide a reliable network 
  • Stability - BGP has a multiple advance feature (Various Timers, Route Damping, Route Refresh, Soft Reconfiguration and others) to provide network stability 

Weakness -
  • Slow convergence:
  • BGP does not load balance across links by default.

How to enable - 
IBGP
Router#config terminal
Router(Config)# router bgp 10
Router(Config-router)#neighbor 10.10.10.10 remote-as 10

EBGP
Router#config terminal
Router(Config)# router bgp 10
Router(Config-router)#neighbor 10.10.10.10 remote-as 20
SHARE

Anubhav Upadhyay

Hello and welcome to networktopic Blog. My name is Anubhav. I am a Senior Network Egineer. I have created this blog specially to serve interview questions and answer on Network Routing and Switching, I will try my best to serve correct and updated networking knowledge for you as per my corporate experience.

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

4 comments:

If you like my posts then please comment and if you don’t like then please suggest me to improve, and if you have any query related to post then please text me through the comment box or mail me on upadhyayambition@gmail.com , I will try my best to solve your queries as soon as possible.