In this post we will be talking about the BGP community in real-world for manipulating the incoming traffic of your ASN, As we know that most of the large Content providers have their predefined community value, and based on that community value they implement their inbound and outbound traffic policy.So you as an ISP customer need to signal them with a preferred community value if you want to influence the inbound traffic of your ASN.
Why will I configure the community ?.
In a large scale multihoming BGP environment, it’s very difficult to configure individual policies for each ASN so they have configured a BGP community for simplifying the route policy, in simple, the community value is just a TAG of a prefix, Let’s see some predefined community of google and based on that community value they have configured the BGP attributes which will ultimately effect your route-policy ..!.Let’s say you have a redundant BGP connection to Google, Facebook, and Netflix from multiple locations…let’s say we want to receive the traffic from one location only,so how to configure it??
Google has chosen to not use MEDs to reflect the fact that these policies are not routing-level priorities: they are advisory and they can span multiple different interconnection types with Google.
- 15169:13000-13300 is the preference for receiving traffic at a particular ingress point for a particular block.
- 15169:13300 indicates the highest preference, while 15169:13000 is the lowest priority.
- Multiple egress-points can share the same preference and in this case Google will treat them as equal choices from the perspective of the peer network.
- If no tag is applied, 15169:13200 is assumed as the priority.
The same community tags can be used with GGC nodes as well as direct interconnections to AS15169 or AS36040. When preference is expressed across different deployment types or different peer ASNs, they will be treated globally across all inbound traffic to a particular ASN.
|Community||Preferred Ingress Signalling Range|
|15169:13000||Lowest preference to receive traffic for this prefix at this interconnection point (try to not serve traffic here). Attempt to serve traffic on an indirect path (through other upstreams or peers) before using this prefix.|
|…||15169:13001 – 15169:13099 indicates very low preference (the higher the tag, the higher the preference). Any prefix tagged in this range is less preferred than an indirect path.|
|15169:13100||Default priority of traffic on an indirect path. Tagging with this community indicates that the|
preference is equal to receiving traffic over an indirect path.
|…||15169:13101 – 15169:13199 indicates low preference. Any prefix tagged in this range is|
preferred over indirect paths but not preferred to an interconnection point where the prefix
|15169:13200||Default priority to receive traffic for this prefix at this interconnection point (the same as if|
the prefix is untagged).
|…||15169:13201 – 15169:13299 indicates high preference (the higher the tag the higher the|
|15169:13300||Highest preference to receive traffic for this prefix at this interconnection point (try to serve|
In the above table, you can see the last row community is 15169:13300, which means if you are connected to google ASN in multiple locations. you can set the community value from which location you want google should send you the traffic to your ASN ,if you don’t set the community then google
will decide based on their organization policy and as per their own routing they will serve you traffic. But in real network design, you should decide which will be the nearest Google server you are connected to, and from which you should get the traffic because you will get the lower latency.
most of the larger content provider has their own predefined BGP community value and they have configured the BGP attributes are based on those community so if you want to influence your inbound traffic flow from one location over another then you only set the community and advertise them and then their policy will kick in and you will get your desired path for inbound traffic ..!
Here is given below some of the community value of a few well-known content providers so you can
configure it to influence your inbound traffic.
//NETFLIX Preferred Path Community in CASE of Redundancy// add action=accept bgp-communities="" chain=NETFLIX prefix=x.x.x.0/24 prefix-length=24 set-bgp-communities=15169:13300 add action=accept bgp-communities="" chain=NETFLIX prefix=x.x.x.0/24 prefix-length=24 set-bgp-communities=15169:13300 //FACEBOOK Preferred Path Community in CASE of Redundancy// add action=accept bgp-communities="" chain=FACEBOOK prefix=x.x.x.0/24 prefix-length=24 set-bgp-communities=32934:10012 add action=accept bgp-communities="" chain=FACEBOOK prefix=x.x.x.0/24 prefix-length=24 set-bgp-communities=32934:10012 //GOOGLE Preferred Path Community in CASE of Redundancy// add action=accept bgp-communities="" chain=GOOGLE prefix=x.x.x.0/24 prefix-length=24 set-bgp-communities=15169:13300 add action=accept bgp-communities="" chain=GOOGLE prefix=x.x.x.0/24 prefix-length=24 set-bgp-communities=15169:13300 //AMAZON Preferred Path Community in CASE of Redundancy// add action=accept bgp-communities="" chain=AMAZON prefix=x.x.x.0/24 prefix-length=24 set-bgp-communities=7224:7300 add action=accept bgp-communities="" chain=AMAZON prefix=x.x.x.0/24 prefix-length=24 set-bgp-communities=7224:7300