BGP Study Notes
by Abdullah Medhat
Overview: Before we dive into BGP we need to know what is BGP, where/when are we gonna use it ? BGP is the successor of EGP [Exterior Gateway Protocol], and currently its the only EGP deployed. BGP is an Enhanced Distance Vector Protocol used in routing between Autonomous Systems [AS] “aka Interdomain Routing”, where an AS is a collection of networks under single administration. We use BGP in several occasions as Service Providers networks, Multihomed customers and large enterprise networks, etc…
◦Only one BGP process per router.
◦There is two types of BGP, IBGP & EBGP, if the as-numbers of the peering routers are the same then its IBGP, if they are different then its EBGP.
◦BGP uses AS numbers [1-64511] as public and [64512-65535] as private.
◦BGP uses TCP as its reliable transport protocol and it runs over TCP port 179.
◦The router with the higher router-id establishes the BGP peering session.
◦BGP uses Keepalive messages to detect the presence of its neighbor, Keepalive interval value is 60 sec, and Holdtime is 180 sec by default [1:3 ratio], Holdtime value is exchanged in the Open Message, and you can only modify the Holdtime value, BGP peers use the lower Holdtime value configured on either of them.
◦BGP uses triggered updates, 5 sec interval for IBGP and 30 sec interval for EBGP.
◦Mandatory well known attributes must exist in each routing update.
◦If multiple paths exist for the same network, only one is selected as the best route and the remaining routes are stored in the memory, Router propagates best routes only to its neighbors.
◦If multi path load sharing is enabled, router can select multiple paths to a single destination and installs them int the routing table, multiple path load sharing in BGP supports up to 16 paths.
◦Before a route is installed in the routing table, the router checks if its learned from another routing protocol rather than BGP, if it was learned from another routing protocol the router compares the Administrative Distance [AD] and prefers the lower.
◦BGP Split Horizon Rule: When a router receives an update it never sends it back to the source which it received from.
◦IBGP Split Horizon Rule: Routes learned from an IBGP neighbor is never sent to other IBGP neighbors, thus all IBGP routers inside an AS needs full mesh for consistent routing decisions.
◦AS-Path loop prevention mechanism: When a router receives an update containing its own AS number; it silently ignores the update.
◦EBGP peers should be reachable for all BGP speaking routers inside an AS, this is achieved by either redistributing connected interfaces of the EBGP peers into IGP, or run IGP over the EBGP peers interface and make them passive so that they don’t exchange IGP information, or finally use the “neighbor ip-address next-hop-self” command so that the edge router announces it self as the next hop for the IBGP peers.
◦BGP sessions can be initiated using loopback interfaces, IGP or Static Routes are used for providing reachability between loopbacks, also the update source for the BGP session should be modified in order to successfully establish the session using the “neighbor ip-address update-source loopback number” command. For EBGP sessions to be established successfully using the loopback interfaces you will need to use the “neighbor ip-address ebgp-multihop value“ command.
◦IGP is used inside an AS to provide full reachability required for establishing IBGP sessions, fast convergence in case of physical failure in one of the multiple paths between IBGP routers, and next hop resolving “aka recursive look up” for appropriate packet forwarding.
Contact me at firstname.lastname@example.org at GTT Global Telecom & Technology for more Info: Whether you need Wide Area Network Services, price shopping, Dedicated Internet Access (DIA), High Speed Ethernet/BGB or better Peering -we have over 600 and 96 On Net POP's in 46 markets! GTT has a suite of offerings that nobody else has. We can help you choose the best of breed technologies and services from hundreds of telecom carriers - globally in 80 countries - as well as from a suite of our own modular technology and managed services options.