Explain Border Gateway Protocol (BGP) ?
Border Gateway Protocol advertises, learns and chooses the best paths inside the global Internet. When two ISPs connect, they typically use BGP to exchange routing information. Enterprises also sometimes uses BGP to exchange routing information with ISPs, allowing the Enterprise routers to learn Internet routes. when we have multiple Internet connections and we want to influence some packets to take one path and some packets to take another we use BGP.
Can Routers on different subnet become BGP neighbors?
BGP does not require neighbors to be attached to the same subnet. Instead, BGP routers use a TCP connection between the routers to pass BGP messages allowing neighboring routers to be on the same or different subnet.
What TCP port number BGP use for connection?
BGP uses TCP port 179 for the connection.
Difference between eBGP and iBGP neighbor?
In iBGP, neighborship is formed between routers within the same AS (autonomous system) whereas in eBGP, neighborship is formed between routers within different AS.
What Administrative Distance BGP uses for iBGP & eBGP ?
AD for iBGP = 200, AD for eBGP = 20.
Explain Loop prevention mechanism in BGP?
BGP uses two mechanism to prevent loops:-
1. When a router learns routes from an iBGP peer, that router does not advertise the same routes to another iBGP peer.
2. By using AS_PATH - When advertising to an eBGP peer, a BGP router adds its own ASN to the AS_PATH. If a BGP router receives an update and the route advertisement lists an AS_PATH with its own ASN, the router ignores that route.
Note - A BGP router does not add its ASN when advertising to an iBGP peer.
Do we need to follow 3 way handshake process to establish BGP communication?
What is the difference between hard reset and soft reset in BGP?
In case of hard reset the local router brings down the neighborship, brings down the underlying TCP connection and all the BGP table entries learned from that neighbor are removed. #clear ip bgp * command is used for hard reset.
In case of soft reset, the router does not bring down the BGP neighborship or the underlying TCP connection. However, the local router resends outgoing Updates and reprocesses incoming Updates adjusting the BGP table based on the current configuration. #clear ip bgp * soft command is used for soft reset.
What are different BGP Message Types?
1. Open - It is Used to establish a neighbor relationship and exchange parameters, including autonomous system number and authentication values.
2. Keepalive - It is Sent periodically to maintain the neighbor relationship. If the Keepalive message is not received within the negotiated Hold timer than BGP neighborship will be turned down.
3. Update - It exchanges Path Attributes and the associated prefix/length (NLRI) that use those attributes.
4. Notification - It is Used to report BGP error. It results in a reset of neighbor relationship.
Explain various states of BGP?
1. Idle - The BGP process is either administratively down or waiting for the the next retry attempt.
2. Connect - The BGP process is waiting for the TCP connection to be completed. If it is successful, it will continue to the OpenSent state. In case it fails, it will continue to the Active state.
3. Active - BGP will try another TCP three-way handshake to establish a connection with the remote BGP neighbor. If it is successful, it will move to the OpenSent state.
4. Opensent - The TCP connection exists, and a BGP Open message has been sent to the peer, but the matching Open message has not yet been received from the other router.
5. Openconfirm - An Open message has been both sent to and received from the other router.
Next step is to receive a BGP Keepalive message (to confirm that all neighbor-related parameters match) or a BGP Notification message (to learn that there is some mismatch in neighbor parameters).
6. Established - All neighbor parameters matched, the neighbor relationship has been established and the peers can now exchange Update messages
Explain BGP Path Attributes?
BGP supports a wide variety of Path Attributes. BGP use these path attributes to examine the competing BGP paths (routes) in BGP table to choose the best path(route).
1. Next Hop - It lists the next-hop IP address used to reach a prefix. If Next hop is reachable? If no route to reach Next Hop, router cannot use this route.
2. Weight - It is a numeric value set by a router when receiving updates to influence the route for a prefix. It is not advertised to any BGP peers. Bigger is preferred
3. Local Preference - It is a numeric value set and communicated within a single AS for the purpose of choosing best route for all routers in that AS to reach a certain network. Bigger is preferred
4. Locally injected routes - Locally injected routes (routes injected using network command) are better than iBGP/eBGP learned.
5. AS Path - It is the number of ASNs in the AS Path. Smaller is preferred.
6. Origin - Preferred I over E & E over ?. It implies that the route was injected into BGP as I (IGP), E (EGP) or ? (incomplete information).
7. Multi-Exit Discriminator (MED) - Allows an AS to tell a neighboring AS the best path to forward packets
into the first AS. Smaller is preferred.
8. Neighbor type - eBGP is preferred over iBGP.
9. IGP metric - Route with nearest IGP neighbor (lowest IGP metric) is preferred.
10. eBGP route - Oldest (longest known) route is preferred.
11. Neighbor Router ID - Lowest is preferred.
12. Neighbor IP address - Lowest is preferred.
Trick to Remember - N WLLA OMNI
Explain BGP Weight attribute?
The weight attribute is a Cisco proprietary attribute that is used in the path selection process when there is more than one route to the same destination. A path with the Higher weight value is preferred. The default value for weight is 0. The weight attribute is local to the router and is not propagated to any BGP peers. Weight attribute is set by a router when receiving Updates influencing that one router’s route for a prefix.
Explain BGP Local preference?
Local preference is an indication to the AS about which path has preference to exit the AS in order to reach a certain network. A path with a higher local preference is preferred more. By default value for local preference is 100 and can be changed manually. Unlike the weight attribute, which is only relevant to the local router, local preference attribute is communicated throughout a single AS for the purpose of influencing the choice of best path to exit the AS.
Explain BGP MED?
The purpose of MED is to influence how other autonomous systems enters into your AS to reach a certain prefix. BGP MED is an attribute which is not propagated throughout the whole network but just to adjacent AS. The lower the MED the more the path will be preferred.
What is Recursive Lookup?
The router looks up the BGP route and the next hop to reach a destination in the remote AS. Then the router looks up the route to reach the next hop. In this way router has to perform lookup twice to reach to a destination, this process is called recursive lookup.
What is route reflector and why it is required?
In BGP, route learned from an iBGP neighbor will not be advertised to another iBGP neighbor. To overcome this situation route reflector is used. It acts as a route reflector server and makes IBGP neighbors as route reflector clients enabling route advertisements between them.
What is the difference between Local Preference and MED?
The Local Preference attribute is to influence your own AS how to get or exit to another AS.
MED is to influence other AS how to enter your own AS.
What is the command to administratively disable BGP neighborship?
# neighbor neighbor-ip shutdown
# no neighbor neighbor-ip shutdown (to enable it again)