North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: consistent policy != consistent announcements

  • From: Sean Donelan
  • Date: Thu Mar 13 16:05:12 1997

>It's a BGP design point for a router to only announce the route(s) that
>it is actively *using*.  In your comment above,
>
>a. If a router has a route it believes is "best", why isn't it using
>   it?

I believe this is why it is called a "policy routing," to force sub-optimal
behavior compared to the normal selection algorithm of the routing
protocol.  You may have a 'best' route to a destination you use internally,
but you don't advertise it outside of your AS  because of policy reasons.
The standard example is not announcing routes heard from peers to other
peers.  This keeps all of MCI's traffic from being routed through a small
customer in the Northwest.  You may also have a 'lessor' path, which you
would advertise, except its not the 'best' route according to your policy,
i.e. a multi-homed customer with unequal cost lines.

Policy: Shortest Path

                       X         X A
                       X D       X D C
                       X D C
                     +----+     +----+
                -----| A  |-----| B  |-----   X A B
               /     +----+     +----+
              /        |    \     |
             X         |     \    |
              \        |      \   |
               \     +----+     +----+
                 ----| D  |-----| C  |-----   X A C
                     +----+     +----+
                      X          X A
                      X A        X D
                                 X A B

Policy: Fastest/Biggest Path between X & A(T1) & D(T3)

                       X D       X D A
                       X         X D C
                       X C D
                     +----+     +----+
              T1-----| A  |-----| B  |-----   X D A B
               /     +----+     +----+
              /        |    \     |
             X         |     \    |
              \        |      \   |
               \     +----+     +----+
              T3-----| D  |-----| C  |-----   X D C
                     +----+     +----+
                      X          X D
                      X A        X D A
                                 X D A B

Policy: Shortest Path/Do Not Announce Peer-to-Peer

                       X         X A
                       X D
                     +----+     +----+
                -----| A  |-----| B  |-----   X A
               /     +----+     +----+
              /        |    \     |
             X         |     \    |
              \        |      \   |
               \     +----+     +----+
                -----| D  |-----| C  |-----   X A
                     +----+     +----+
                      X          X A
                      X A        X D

Policy: Fastest/Biggest Path between X & A & D/Do Not Announce Peer-to-Peer

                       X D
                       X
                     +----+     +----+
              T1-----| A  |-----| B  |-----  No Route
               /     +----+     +----+
              /        |    \     |
             X         |     \    |
              \        |      \   |
               \     +----+     +----+
              T3-----| D  |-----| C  |-----   X D
                     +----+     +----+
                      X          X D
                      X A



>b. Regardless of the answer, the router should announce the route it is
>   using for its own forwarding.  To do otherwise would be to lie about
>   the path which traffic will take to the advertised destination.
>
>   If policy forbids it from announcing the route it is using, so be
>   it.  (Or, if that's not acceptable change the policy.)

Policy is a business decision, not a technical decision.

You can be unfair to C by congesting the line XA. Or you can be unfair
to B by announcing a longer path XDAB, or no path.  Who do you care more
about B or C?  All animals are equal, but some animals are more equal
than others.

Yes, you might be able to play enough games with this simple example, to
force things to work 'right.'  But the mesh is being extended all the time.

>By the way, this general fact about BGP (external announcements are
>governed by internal route selection) also means that for Randy to
>always announce the same route to his peer, he would have to change his
>own, internal routing policy to do cold-potato routing to one of the
>two candidate paths.  This doesn't seem like a reasonable thing for a
>peer to demand he do.

In any business negotiation, either side can demand whatever they want.
But the other side doesn't have to give it to them.  This really isn't
an operational issue, other than the engineers need to keep their managers
informed of the consequences of managerial decisions.
-- 
Sean Donelan, Data Research Associates, Inc, St. Louis, MO
  Affiliation given for identification not representation

- - - - - - - - - - - - - - - - -