nanog mailing list archives

Re: consistent policy != consistent announcements


From: Sean Donelan <SEAN () SDG DRA COM>
Date: Thu, 13 Mar 1997 14:27:00 -0600 (CST)

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

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


Current thread: