In my first post with BGP, when I said the key to success with BGP is knowing the “Attributes” of it, specifically which are well-known and which are optional. This is VERY important information to get a foundation understanding of BGP attributes.
These are the 4 types of Attributes, the attributes themselves, and explanation below:
- Well-Known ‘mandatory’ attributes = AS_PATH, origin, next-hop
- Well-Known ‘discretionary’ attributes = local preference “LOCAL PREF / LocPrf”, atomic aggregate
- Optional ‘transitive’ attributes = aggregator, community
- Optional non-transitive attributes = MED (multi-exit discriminator)
The top bullet point of ‘mandatory’ commands will be seen in BGP updates, and these 3 mandatory attributes are the only attributes a BGP Speaker must be able to understand, and can even be seen in “sh ip bgp” (pulled from last lab):
R5#sh ip bgp
BGP table version is 10, local router ID is 22.214.171.124
Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,
r RIB-failure, S Stale
Origin codes: i – IGP, e – EGP, ? – incomplete
Network Next Hop Metric LocPrf Weight Path
*> 126.96.36.199/32 188.8.131.52 0 0 100 i
*> 184.108.40.206/32 0.0.0.0 0 32768 i
From the second bullet point you can also see LocPrf in the “sh ip bgp” output as well, and I’m not sure what atomic aggregator is, but it has not gone into details on these ‘discretionary’ well-known attributes yet so I will leave that fun until later.
Now with the second row, it was not really explained what those attributes are, but you can see LocPrf in the “sh ip bgp” so it will come into play once we start going through them I’d imagine.
Now the optional ones are a pain, because not all BGP speakers will understand every BGP attribute, and this segways into the topic of Optional attributes that are “transitive” vs “non-transitive” which should be self explanatory to an extent but I’ll drive it home.
“Transitive” optional attributes will be received by neighbors, and if the route is shared between neighbors, the “Partial Attribute bit” will be set. This basically indicates to the receiving BGP Peer “I have no idea what this optional stuff is so hopefully you do.”
“Non-transitive” will not pass through Transit Areas and will not be excepted to Pass along to other BGP peers.
With this brief, but necessary into, next up is a dive into BGP attributes!