consistent policy != consistent announcements
[ Most of this work was done by Andrew ] A normal condition of peering between consenting adults is that the peers have consistent policy across all points where they peer. This is to allow hot potato, whereby I can get rid of my packets destined for a peer at my nearest exit to them. A naive assumption we make is that this means that the peers will be making the same announcements to each other at all points. This turns out to not always be the case. I have customer A who connects to multihomed site M. I also have customer B who also connects to M. I will see M as either "A M" or "B M", equal length AS paths. depending on whether I am closer to A or B. So in some portions of my network, I will prefer to get to M via A and in others I will prefer to go via B. Thus I will announce to my peers in some locations "A M" and in others "B M". The result is that I do not give the same announcements to my peers at all locations, yet I have a consistent, simple, and seemingly reasonable policy. In another example, I have a peer P who connects to multihomed site M. I also have a customer C who connects to the multihomed site M. I will see M as either "P M" or "C M" - again equal length AS paths. If I follow the 'normal' BGP path selection rules (and don't always prefer customers over peers), then in some portions of my network, I will prefer M via P and in others I will prefer M via C. Therefore I will not announce any route to M to my peers in some locations, as I don't announce peers to other peers, and in others I will announce "C M". Again, I do not make identical announcements to my peers, yet I have a consistent policy. Am I being unfair to my peers? Would they be justified in making a stronger requirement than 'consistent' policy? What requirement would be reasonable? [ note that, in the first example, the common policy of preferring customer routes over peer routes will not change my announcements. ] randy
on the first example, if someone is complaining about what you're doing, then, unless i'm missing something, they're concerned much more about the letter of the policy than the tone add a peer P to your first example. if P peers with you at Point1 close to A's connection and again at a Point2 close to B's connection, then P will hear M's prefixes at Point1 as "R A M" and at Point2 as "R B M". but because the AS path length is equal, they'll still be able to do closest exit for M's prefixes. the tone of the "consistent route" policy is to keep one provider from having to carry packets cross-country in both directions: in this example P does not have to do that /jws
[ Most of this work was done by Andrew ]
A normal condition of peering between consenting adults is that the peers have consistent policy across all points where they peer. This is to allow hot potato, whereby I can get rid of my packets destined for a peer at my nearest exit to them.
A naive assumption we make is that this means that the peers will be making the same announcements to each other at all points. This turns out to not always be the case.
I have customer A who connects to multihomed site M. I also have customer B who also connects to M. I will see M as either "A M" or "B M", equal length AS paths. depending on whether I am closer to A or B.
So in some portions of my network, I will prefer to get to M via A and in others I will prefer to go via B. Thus I will announce to my peers in some locations "A M" and in others "B M". The result is that I do not give the same announcements to my peers at all locations, yet I have a consistent, simple, and seemingly reasonable policy.
In another example, I have a peer P who connects to multihomed site M. I also have a customer C who connects to the multihomed site M. I will see M as either "P M" or "C M" - again equal length AS paths. If I follow the 'normal' BGP path selection rules (and don't always prefer customers over peers), then in some portions of my network, I will prefer M via P and in others I will prefer M via C.
Therefore I will not announce any route to M to my peers in some locations, as I don't announce peers to other peers, and in others I will announce "C M". Again, I do not make identical announcements to my peers, yet I have a consistent policy.
Am I being unfair to my peers? Would they be justified in making a stronger requirement than 'consistent' policy? What requirement would be reasonable? [ note that, in the first example, the common policy of preferring customer routes over peer routes will not change my announcements. ]
randy
participants (2)
-
John W. Stewart III
-
randy@psg.com