Re: Addr: Local Preference Computation
"John G. Scudder" <jgs@ieng.com> Sun, 25 August 1996 08:01 UTC
Received: from ietf.org by ietf.org id aa28659; 25 Aug 96 4:01 EDT
Received: from cnri by ietf.org id aa28655; 25 Aug 96 4:01 EDT
Received: from merit.edu by CNRI.Reston.VA.US id aa03125; 25 Aug 96 4:01 EDT
Received: (from daemon@localhost) by merit.edu (8.7.5/merit-2.0) id DAA11297
for idr-outgoing; Sun, 25 Aug 1996 03:37:32 -0400 (EDT)
Received: from interlock.ans.net (interlock.ans.net [147.225.5.5]) by
merit.edu (8.7.5/merit-2.0) with SMTP id DAA11284 for <bgp@merit.edu>;
Sun, 25 Aug 1996 03:37:28 -0400 (EDT)
Received: by interlock.ans.net id AA09174
(InterLock SMTP Gateway 3.0 for bgp@ans.net);
Sun, 25 Aug 1996 03:37:27 -0400
Received: by interlock.ans.net (Internal Mail Agent-1);
Sun, 25 Aug 1996 03:37:27 -0400
Message-Id: <v03007801ae45ab6ac443@[36.141.0.30]>
In-Reply-To: <9608241546.AA00339@lobster.newbridge>
References: <v03007826ae44427c8b6e@[152.160.213.42]> from "John G.
Scudder" at Aug 24, 96 01:49:33 am
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Sun, 25 Aug 1996 00:37:01 -0700
To: Joel Halpern <jhalpern@us.newbridge.com>
Sender: ietf-archive-request@ietf.org
From: "John G. Scudder" <jgs@ieng.com>
Subject: Re: Addr: Local Preference Computation
Cc: rwoundy@vnet.ibm.com, bgp@ans.net
X-Orig-Sender: owner-idr@merit.edu
Precedence: bulk
Joel, At 11:46 AM -0400 8/24/96, Joel Halpern wrote: >I have been reading the local-pref/MED discussion, and trying to tie it >back to my understanding of the assumptions that had been made originally. > >As I understood things, the point of "local-pref" was to ensure that all >border routers of an AS made the same choice of path for a given destination. >This would then allow the appropriate BGP advertisement to be generated by >all AS boundary routers. Sort of. All the border routers don't have to make the *same* choice, though they do have to make a *consistent* choice, where consistent means "loop free". Localpref allows one border router to tell all the other routers what policy it applied to a route it imported. This is good because it allows each border router to only have to worry about the policy for its direct neighbors, not all the neighbors of the whole AS. (The latter has obvious scaling problems on several axes.) (As a small digression, I kind of hate the use of the word "policy" as a forty-dollar word to mean "preference". Saying that we use localpref to export our "policy" is confusing because it sounds like maybe it has more semantics than it does. It's just an integer. End digression.) >If I am reading the discussion right, the routing loops occur because >the local-pref value is not the only thing being used. Therefore, >internal routers (who do not have the full policy of the external border >routers) are getting confused about what is happening? This is not quite how I would put it. I'd say, rather, that the problem is that we use IBGP as a defacto IGP. In fact it seems to have some of the criteria of a link-state IGP insofar as external routing information is sent AS-wide using IBGP and each router in the AS is then responsible for independently computing its next hops based on that information. (This is pretty similar to link state advertisements getting flooded around, only the mechanism for doing it is cruder than the flooding a real link state protocol uses.) If you think of it that way, you'll see that, like with your favorite link-state IGP, it's critical that all the internal guys use absolutely identical criteria for route selection. Unfortunately this doesn't seem to have fully sunk in until a bit late in the game. If IBGP was really just for hauling path attributes around, and the IGP carried the actual forwarding stuff, then we wouldn't have this problem. (We'd have others, but that's another rathole.) By the way, the problem is also not quite that "the local-pref value is not the only thing being used" but rather that there are dissimilar lists of things being used. In fact RFC 1771 specifies a whole list of things to be used after localpref, in the (rather likely) event of a localpref tie. This, in itself, is good. The two problems are (a) one of the specified tie-breakers, MED, is underspecified, and (b) some folks add their own nonstandard tie-breakers. The attraction of putting stuff into localpref is that localpref *does* work right but isn't used for enough. If everyone agreed that their custom knobs would just be a way to bias the localpref rather than sticking non-interoperable lower-order tie-breakers in, then we could interoperate happily, since localpref is a nice opaque integer which we can compare without regard to the exact method used to compute it. >1) I would strongly suggest that the discussion would be helped by an > explicit statement in each proposal of how the fields (MED an and > local-pref) are to generated and compared for route selection. I kinda think that much of the point is that computation of localpref should be an implementation-specific thing. The stuff which has been floated so a seems to be in the nature of (as I think Curtis said) a sample algorithm to prove that this is reasonable. If this is right then I don't think that we need to focus on explicit methods for generation of localpref. RFC 1771 and follow-ons already are quite clear on how to compare localpref. MED does need to be fixed. To my way of thinking the open questions are not exactly the ones you pose above, but rather: - Is putting everything into localpref sufficiently flexible to provide everything that vendors will want to offer their customers? Or will they again be tempted to put other stuff into the route selection process? If the latter, is there some generic/standard/safe way to let them do this? (q.v. my off-the-cuff notion of extended localprefs). - What's the right thing to do with MED? (I think there is not too much debate on this.) - Do we need to have a way to introduce other MED-like things, which I think can't be stuffed into localpref (someone please prove me wrong). Is there some way to do this which will guarantee loop-free interoperability between different implementations? >2) If the old assumptions are no longer applicable, I would appreciate > an explanation of why. The most obvious cause would be that some > underlying precept turns out not to be the case. For example, the > local-pref stuff is basically based on assuming similarity of policy > mechanisms on all border routers of an AS. Does that no longer obtain? I'm not sure what you mean by "assumes similarity of policy mechanisms" but it doesn't sound quite right to me. Perhaps you could explain this more if you want to pursue this train of thought. I trust I make myself obscure? Regards, --John -- John Scudder email: jgs@ieng.com Internet Engineering Group, LLC phone: (313) 669-8800 122 S. Main, Suite 280 fax: (313) 669-8661 Ann Arbor, MI 41804 www: http://www.ieng.com
- Re: Addr: Local Preference Computation Curtis Villamizar
- Re: Addr: Local Preference Computation John G. Scudder
- Re: Addr: Local Preference Computation Joel Halpern
- Re: Addr: Local Preference Computation John G. Scudder
- Re: Addr: Local Preference Computation Curtis Villamizar
- Addr: Local Preference Computation rwoundy
- Re: Addr: Local Preference Computation Dimitry Haskin