[31713] in North American Network Operators' Group
RE: BGP quandary
daemon@ATHENA.MIT.EDU (Leo Nelson)
Wed Oct 11 15:05:32 2000
Message-ID: <2A2BBEF175D5AC4F9796F03C98F08C1F7817C1@ax000002.phx.axient.com>
From: Leo Nelson <lnelson@Axient.com>
To: "'Timothy Brown'" <tcb@ga.prestige.net>
Cc: nanog@merit.edu
Date: Wed, 11 Oct 2000 12:00:35 -0700
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01C033B5.8AE8ABFE"
Errors-To: owner-nanog-outgoing@merit.edu
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C033B5.8AE8ABFE
Content-Type: text/plain;
charset="iso-8859-1"
I do not claim to be a BGP guru but here is my take. If my take is way of
base I would like to here from our BGP guru's here
Thanks
leo
-----Original Message-----
From: Timothy Brown [mailto:tcb@ga.prestige.net]
Sent: Wednesday, October 11, 2000 10:15 AM
To: nanog@merit.edu
Subject: BGP quandary
This may be an obvious answer, but, like some obvious answers, you just
never get the clue, even though you struggle over it.
I have four routers in a network. Two of the routers have no external
peers, two of them have two peers a piece. The diagram looks like this:
p1(e) p2(e) p1(e) p2(e)
/ / / /
.-------. .--------.
| rtr_1 | | rtr_2 |
`-------' `--------'
| (i) | (i)
.-------. .--------.
| swr_1 |--------| swr_2 |
`-------' `--------'
| |
-------------------------------------
| | |
fw fw fw
p1 (AS12345) and p2 (AS12346) are the same AS across both routers, but
connected to different pops. so on rtr_1, p1 may go to sjc, but on rtr_2,
p1 may go to lax, even though it's the different AS.
!# This is a bit confusing to me p1(AS12345) is p1 no matter what rtr
connects to it or where it connects. Same goes for p2(As12346).
My quandary is this: I want to advertise my best path to swr_1 and swr_2.
the line between swr_1 and swr_2 is a trunk; e.g., they're one piece of
broadcast media, but they both have routing cards in them to process IP
packets (and BGP). my problem is, rtr_1 is going to select a best path from
p1 and p2, and advertise it to whoever his peers are. rtr_2 will do the
same, but with the additional caveat that rtr_1 may advertise his best path
to rtr_2, giving rtr_2 three paths to choose from in this example (assuming
p1 and p2 only advertise one path to me a piece for the same netblock).
!# This may be difficult to do if you want any type of redundant pathing.
Both swr's will need a peering session (tcp connection) to both rtr's for
redundancy(unless you don't care). Therefore I would suggest iGBP peering
betwween the rtr's and swr's and not worry about the swr's making a
decision. You can use dampening if you are worried about excessive cpu
utilization.
further complicating the issue, swr_1 and swr_2 have to accomplish the same
task. i don't want those two boxes to have to deal with selecting a best
path; I would like the best path pushed down from rtr_1 and rtr_2, but i'm
not sure where i'm pushing it.
!# The only way to get one "best path" pushed is to have only one peer, igrp
or egrp or default route to the eBGP rtr. Ohterwise the routing protocol
will make a decision on what route to inject into it's table based on the
metric if more than one is recieved.
the fw device will route to the swr devices, probably via HSRP, but if they
don't do that via HSRP, they have to select an additional best path (based
on network load) via IGP, deciding which swr to connect to (assuming they
are capable of that). the swr devices will have to identify a way to route
externally, which i'm also not sure of.
I can see several options, all of which have significant disadvantages and
weird routing behaviour.
does anyone have any suggestions on how to solve this situation?
tim
------_=_NextPart_001_01C033B5.8AE8ABFE
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2650.12">
<TITLE>RE: BGP quandary</TITLE>
</HEAD>
<BODY>
<P><B><FONT SIZE=3D2 FACE=3D"Arial">I do not claim to be a BGP guru but =
here is my take. If my take is way of base I would like to here =
from our BGP guru's here</FONT></B></P>
<P><B><FONT SIZE=3D2 FACE=3D"Arial">Thanks</FONT></B>
<BR><B><FONT SIZE=3D2 FACE=3D"Arial">leo</FONT></B>
</P>
<P><FONT SIZE=3D2 FACE=3D"Arial">-----Original Message-----</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">From: Timothy Brown [<A =
HREF=3D"mailto:tcb@ga.prestige.net">mailto:tcb@ga.prestige.net</A>]</FON=
T>
<BR><FONT SIZE=3D2 FACE=3D"Arial">Sent: Wednesday, October 11, 2000 =
10:15 AM</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">To: nanog@merit.edu</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">Subject: BGP quandary</FONT>
</P>
<BR>
<BR>
<P><FONT SIZE=3D2 FACE=3D"Arial">This may be an obvious answer, but, =
like some obvious answers, you just</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">never get the clue, even though you =
struggle over it.</FONT>
</P>
<P><FONT SIZE=3D2 FACE=3D"Arial">I have four routers in a =
network. Two of the routers have no external</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">peers, two of them have two peers a =
piece. The diagram looks like this:</FONT>
</P>
<BR>
<P><FONT SIZE=3D2 FACE=3D"Arial"> =
p1(e) p2(e) p1(e) =
p2(e)</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial"> =
/ =
/ =
/ /</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial"> =
.-------. .--------.</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial"> | rtr_1 =
| | rtr_2 |</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial"> =
`-------' `--------'</FONT>
<BR><FONT SIZE=3D2 =
FACE=3D"Arial"> | =
(i) &nb=
sp; | (i)</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial"> =
-------. .--------.</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial"> | swr_1 =
|--------| swr_2 |</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial"> =
`-------' `--------'</FONT>
<BR><FONT SIZE=3D2 =
FACE=3D"Arial"> =
|  =
; |</FONT>
<BR><FONT SIZE=3D2 =
FACE=3D"Arial">-------------------------------------</FONT>
<BR><FONT SIZE=3D2 =
FACE=3D"Arial"> =
| =
| |</FONT>
<BR><FONT SIZE=3D2 =
FACE=3D"Arial"> =
fw =
fw fw</FONT>
</P>
<BR>
<P><FONT SIZE=3D2 FACE=3D"Arial">p1 (AS12345) and p2 (AS12346) are the =
same AS across both routers, but</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">connected to different pops. so =
on rtr_1, p1 may go to sjc, but on rtr_2,</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">p1 may go to lax, even though it's =
the different AS.</FONT>
</P>
<P><B><FONT SIZE=3D2 FACE=3D"Arial">!# This is a bit confusing to me =
p1(AS12345) is p1 no matter what rtr connects to it or where it =
connects. Same goes for p2(As12346). </FONT></B></P>
<P><FONT SIZE=3D2 FACE=3D"Arial">My quandary is this: I want to =
advertise my best path to swr_1 and swr_2.</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">the line between swr_1 and swr_2 is a =
trunk; e.g., they're one piece of</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">broadcast media, but they both have =
routing cards in them to process IP</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">packets (and BGP). my problem =
is, rtr_1 is going to select a best path from</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">p1 and p2, and advertise it to =
whoever his peers are. rtr_2 will do the</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">same, but with the additional caveat =
that rtr_1 may advertise his best path</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">to rtr_2, giving rtr_2 three paths to =
choose from in this example (assuming</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">p1 and p2 only advertise one path to =
me a piece for the same netblock).</FONT>
</P>
<P><B><FONT SIZE=3D2 FACE=3D"Arial">!# This may be difficult to do if =
you want any type of redundant pathing. Both swr's will need a</FONT> =
<FONT SIZE=3D2 FACE=3D"Arial">peering session (tcp</FONT> <FONT =
SIZE=3D2 FACE=3D"Arial">connection</FONT><FONT SIZE=3D2 =
FACE=3D"Arial">)</FONT><FONT SIZE=3D2 FACE=3D"Arial"> to both rtr's for =
redundancy(unless you don't care). Therefore I would suggest iGBP =
peering betwween the rtr's and swr's and not worry about the swr's =
making a decision. You can use dam</FONT><FONT SIZE=3D2 =
FACE=3D"Arial">pe</FONT><FONT SIZE=3D2 FACE=3D"Arial">ning if you are =
worried about excessive cpu utilization.</FONT></B></P>
<P><FONT SIZE=3D2 FACE=3D"Arial">further complicating the issue, swr_1 =
and swr_2 have to accomplish the same</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">task. i don't want those two =
boxes to have to deal with selecting a best</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">path; I would like the best path =
pushed down from rtr_1 and rtr_2, but i'm</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">not sure where i'm pushing it.</FONT>
</P>
<P><B><FONT SIZE=3D2 FACE=3D"Arial">!# The only way to get one =
"best path" pushed is to have only one peer, igrp or egrp or =
default route to the eBGP rtr. Ohterwise the routing protocol will make =
a decision</FONT><FONT SIZE=3D2 FACE=3D"Arial"> on what route to inject =
into it's table</FONT><FONT SIZE=3D2 FACE=3D"Arial"> based on the =
metric if more than one is recieved.</FONT></B></P>
<P><FONT SIZE=3D2 FACE=3D"Arial">the fw device will route to the swr =
devices, probably via HSRP, but if they</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">don't do that via HSRP, they have to =
select an additional best path (based</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">on network load) via IGP, deciding =
which swr to connect to (assuming they</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">are capable of that). the swr =
devices will have to identify a way to route</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">externally, which i'm also not sure =
of.</FONT>
</P>
<P><FONT SIZE=3D2 FACE=3D"Arial">I can see several options, all of =
which have significant disadvantages and</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">weird routing behaviour.</FONT>
</P>
<P><FONT SIZE=3D2 FACE=3D"Arial">does anyone have any suggestions on =
how to solve this situation?</FONT>
</P>
<P><FONT SIZE=3D2 FACE=3D"Arial">tim</FONT>
</P>
<BR>
</BODY>
</HTML>
------_=_NextPart_001_01C033B5.8AE8ABFE--