BGP routes have multiple properties that are referred to as Attributes. These BGP attributes can influence path selection as they can be used to determine what BGP route is more preferred. Using policies to manipulate these BGP Attributes allows for an enormous amount of flexibility in any network design.
The BGP path attributes can be divided into four different categories;
1. Well-known mandatory:
These attributes must be included in every Update message and they have to be supported by all BGP implementations. Examples are Origin, AS-path and Next-hop.
2. Well-known discretionary:
These attributes may or may not be sent in an Update message. The attributes have to be supported. Examples of well-known discretionary attributes are Local Preference and Atomic Aggregate.
3. Optional transitive:
These attributes may or may not be supported. Regardless of whether or not the BGP implementation recognizes the attribute, the attribute should be accepted and passed on to other peers. Examples of the optional transitive attributes are the Aggregator and the Community.
4. Optional non-transitive:
Regardless of whether or not the BGP implementation recognizes the attribute, the attribute should not be passed on to other peers. Examples of the optional non-transitive attributes are the MED, Originator ID and Cluster-list.