[nog] BGP communities
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