[nog] BGP communities

Boyan Krosnov boyan at krosnov.org
Mon Oct 24 02:13:48 EEST 2016

> Why not this:
> my upstream has ISP A and B.
> We have agreed to use communities 500 for A and 600 for B.
> When I want my outgoing traffic to go trough ISP A, I simply start 
> sending community 500 with my prefix.
> When I want my outgoing traffic to go trough ISP B, I start sending 
> community 600 with my prefix.
> This way, I can choose the upstream I want to be routed trough. It 
> seam straight forward.
> What are your concerns?
Here are two examples of why this wouldn't work or has the potential of 
breaking the Internet:

  1. loop prevention in BGP relies on the as-path announced to you being 
the same as the path actually traversed by packets which you send. Which 
means that for this to work correctly (provide loop prevention), when 
you give them the smoke signal, they need to start announcing a 
different as-paths to you, and only then they can start sending packets 
off the other route.

  2. IP is routed based on the destination address in each packet. 
Destination IP of packets you send don't relate at all to prefixes you 
announce. If you have more than one prefix for example, how do you 
expect this to work. Attach community 500 to one prefix and 600 to the 
other one, what should happen?

There may be other ways to achieve what you are looking for, for example 
by having an IX-like architecture, by having multiple BGP sessions with 
your upstream or by running a BGP session with multiple VRFs on it.


More information about the Nog mailing list