Cisco SPCOR BGP Path Attributes
Remember, BGP is a path vector protocol that uses an impressive number of possible path attributes to make the best path decisions. What is even more interesting here is the fact that the path attributes fall into several different categories. They are not all created equal.
What are the four categories of these attributes? Here they are:
- Well-known mandatory
- Well-known discretionary
- Optional transitive
- Optional non-transitive
Well-known Mandatory
Let us start in a very logical place, the well-known, mandatory category. Here well-known means that everyone, that means every single router vendor, must support the attribute. The fact that the category is also mandatory is hugely important. It means that the attribute values must be present in updates! Should you receive a BGP prefix missing one of these well-known and mandatory attributes, your router will reject such information, as it should!
What are some examples of well-known mandatory attributes? Indeed, you will recognize these BGP attributes that make the list!
- ORIGIN
- AS_PATH
- NEXT_HOP
Of course AS_PATH would be on our list – it is the primary loop prevention mechanism of BGP!
Well-known Discretionary
You probably already figured out this category (if you did not already know). These are path attributes that must be supported by all vendors, but these attributes do not need to present in updates. This is a nice option for administrators. They know they can use these values if they need to in a heterogenous router vendor environment, but they are not forced to.
Here are examples of well-known discretionary attributes:
- LOCAL_PREF
- ATOMIC_AGGREGATE
Optional Transitive
Next we have the optional transitive category. This means that all vendors do not need to support the attribute. It also means that routers should pass the attribute to neighbors and accept these attribute settings.
Here are examples:
- AGGREGATOR
- COMMUNITIES
- EXTENDED COMMUNITY
Optional Non-transitive
Yes, you guessed it, these attributes do not need to be in updates, and if your router receives them, it can quietly ignore the prefixes that include these attribute settings. Note that the world transit in transitive refers to the ability of the update to transit through the router to other BGP speakers.
Here are some example:
- MED
- ORIGINATOR_ID
- CLUSTER_LIST
Sure this is basic stuff, but it is the exact type of theory that you are expected to know for the SPCOR exam. And trust me, it is VERY easy to forget some of these basics when we are hyper-focused on the many configurations required for BGP.
Very good article.
Can we consider Weight as “Optional Non-transitive” ?
We can also use below memotechnic sentence to rembember BGP path attributes order and that can be manipulated :
“We Love Oranges, As Oranges Mean Pure Refreshment”
We : Weight
Love : Local-Preference
Oranges : Originated Locally
As : AS-PATH
Oranges: Origin
Mean: MED
Pure: Path Type
Refreshment: Router-ID
:)