I am currently using prepend to influence my inbound routing from 3 ISP. However, after speaking to one engineer he mention I should look into "BGP Communities". I have done some reading, and it appears to be a better solution then my multilayer prepend. However, I do not understand how I get the ball rolling on using BGP Communities.
Is this something I work with the ISP with, and they give my the weight number to add to my AS number that I advertise upstream? I am not connecting the dots, on how they know which ISP I want as my primary and my secondary from my advertisements.
BGP communities can be an interesting and useful way to send information about an advertised prefix to the ISP. There are some well known (and supported by all ISP) communities which anyone can use, many ISP have set up some communities which all of their customers can use, and you can always negotiate with the ISP to create a community that is unique to you. But it is not clear to me how you would use communities to establish which ISP is primary and which is backup.
I am having some difficult finding those answers as well, since I understand the prepending different lengths with ISP for inbound routing for my class C block space, which I have a few of.
I didn't know - that there is default values that can be used. How do you know what default value to use and if it will be good enough to provide the mechanism of desired results?
Here is some documentation from Cisco that discusses the well known BGP communities. I hope you find it helpful.
I do not believe that any of these well known communities would be helpful in influencing inbound traffic. Prepending is a simple and well known method of influencing inbound traffic from the Internet. If you want to use communities for this I believe that you will need to negotiate with your ISPs and ask them to devise some communities that could be used for this purpose.
the use of BGP communities allows to attach one or more BGP communities attributes to the advertised NLRI prefix.
For effective use of BGP communities you need to work with all your upstream ISP tech stuff people and the ISPs need to coordinate in order to give the same meaning to one or more BGP communities values.
Without coordinate co-operation between upstream ISPs you cannot achieve the desired result.
In any case either using the current AS path prepending technique or using BGP communities (you can choice the outbound / upstream path with other methods), but you can only try to influence the return path of traffic to your AS.
This is part of how BGP works.
Hope to help
the BGP communities by itself does not provide any change in treatment of a prefix.
You and your ISPs need to agree on what values yo should set on each outgoing Class C /24 prefix in order to achieve the desired behaviour for each of them.
For example the BGP community yourAS:101 can become "I would like this prefix to use ISP1 as preferred path".
ISP1 should increase the local prefence on all prefixes having this BGP community attached.
However, this is not enough to ensure that ISP2 and ISP3 should send traffic to ISP1 in return path instead of directly to you.
Usually an ISP provides an higher local preference to customer routes a mid range local preference to routes coming from peers and the lowest local preference on routes coming from their own upstream ISP.
From this scenario you can understand the need for coordination between all your ISP:
ISP1 should increase the local preference for prefix with BGP community yourAS:101
ISP2 and ISP2 should decrease the local preference on the route received from you and should give preference to the route received from ISP1.
To be honest, the current setup with BGP AS path prepending is all under your control and it is easier to mantain if your goal is to control the return path.
Hope to help