[j-nsp] local summary route advertisement in JNCIP BOOK EBGP Export policy
Chuck Anderson
cra at WPI.EDU
Mon May 10 15:15:53 EDT 2010
R1 has no active local aggregate 10.0.0.0/8 route, nor any 10/8 route
in IGP (due to being in a NSSA no-summaries area which only has a
default route for reachability to other areas) or nor any 10/8 route
in BGP, so it can't advertise 10/8 to EBGP peers as required.
To rememdy this, one could:
1. define 10/8 as a local aggregate route on R1, as was done on R4 and
R7.
- but this has problems because a locally defined aggregate has a
"reject" next-hop. Because R1 is in an NSSA no-summaries area you
have no specific routes to your other routers. Since the 10/8
aggregate is more specific than the 0/0 you were relying on to reach
other areas, you will reject (blackhole) traffic to your other areas
in 10/8. Your IBGP will break among other things.
2. define 10/8 as a local aggregate route on R3, then let R3 advertise
this via IBGP to R1.
- this still doesn't work because R1 sees the 10/8 IBGP route from R3
with a BGP protocol next-hop of 10.0.3.3. When R1 tries to
recursively resolve the protocol next hop, it finds that the best
(longest) match for 10.0.3.3 is the 10/8 IBGP route itself. That
isn't allowed because it can cause route recursion loops, so the route
becomes hidden/unusable.
3. define 10/8 as a local "generated" route on R1. Because generated
routes have next-hops other than "reject" this prevents the blackhole
problem that solution #1 has. Note that generated routes show up as
"aggregate" in the routing table, but they have a real next-hop
instead of "reject".
- this satisfies the requirement to advertise 10/8 to EBGP peers, but
this causes suboptimal routing R1-R2-R3 instead of direct R1-R3.
Generated routes take their next-hop from the primary contributing
route. In this case, the only routes R1 has that can contribute to
the 10/8 generated route are the ones in the OSPF NSSA area. Direct
routes can't be used to contribute, so it picks the lowest OSPF route,
which is 10.0.4.0/30, leading to the suboptimal routing.
Now, I'm not entirely sure why the Direct routes can't contribute to
the generated route. The book says "a route can only contribute to a
generated route when it is associated with a forwarding next hop,
which means that r1’s directly connected broadcast interfaces are not
allowed to contribute". Why aren't Direct routes considered
"forwarding next hops"? Is this a limitation of JUNOS, or is there
some reason why this is?
I tested this on 8.4, and aggregate/generated routes can use Direct
routes as contributors in some cases but not others. Does anyone know
what causes the Direct routes to be usable or not?
For example, if I configure a generate route on an IS-IS L1/L2
attached router (R3 in the JNCIE book), I see IS-IS and Direct
contributors:
inet.0: 21555 destinations, 21565 routes (21555 active, 0 holddown, 0 hidden)
10.0.0.0/16 (1 entry, 1 announced)
*Aggregate Preference: 130
Next hop type: Router, Next hop index: 1067
Next-hop reference count: 3
Next hop: via lt-1/3/0.10, selected
State: <Active Int Ext>
Local AS: 65412
Age: 5d 0:18:47
Task: Aggregate
Announcement bits (3): 2-BGP RT Background 3-KRT 5-Resolve tree 1
AS path: I
Flags: Generate Depth: 0 Active
Contributing Routes (17):
10.0.2.4/30 proto Direct
10.0.4.4/30 proto IS-IS
10.0.4.8/30 proto IS-IS
10.0.4.16/30 proto IS-IS
10.0.5.0/24 proto IS-IS
10.0.6.1/32 proto IS-IS
10.0.6.2/32 proto IS-IS
10.0.2.8/30 proto IS-IS
10.0.2.16/30 proto IS-IS
10.0.3.4/32 proto IS-IS
10.0.3.5/32 proto IS-IS
10.0.8.0/30 proto IS-IS
10.0.8.4/30 proto IS-IS
10.0.8.8/30 proto IS-IS
10.0.8.12/30 proto IS-IS
10.0.9.6/32 proto IS-IS
10.0.9.7/32 proto IS-IS
but if I configure a generate route on the IS-IS Level 1 router (R1 in
the JNCIE book), I don't see any Direct routes, just IS-IS routes:
inet.0: 21537 destinations, 21544 routes (21537 active, 0 holddown, 0
hidden)
10.0.0.0/16 (2 entries, 1 announced)
*Aggregate Preference: 130
Next hop type: Router, Next hop index: 262142
Next-hop reference count: 21540
Next hop: 10.0.4.6 via lt-1/3/0.2
Next hop: 10.0.4.13 via lt-1/3/0.4, selected
State: <Active Int Ext>
Local AS: 65412
Age: 3:12
Task: Aggregate
Announcement bits (3): 2-BGP RT Background 3-KRT 5-Resolve tree 1
AS path: I
Flags: Generate Depth: 0 Active
Contributing Routes (3):
10.0.4.0/30 proto IS-IS
10.0.4.8/30 proto IS-IS
10.0.6.2/32 proto IS-IS
Actually, I think this is because the 10.0.2.4/30 Direct route is on a
point-to-point interface rather than a broadcast interface. That
might explain the difference in behavior.
On Sun, May 09, 2010 at 10:46:03AM -0400, David water wrote:
> Chris, Its Page 529.
>
> --
> David W.
>
> On Sun, May 9, 2010 at 10:16 AM, Chris Grundemann <cgrundemann at gmail.com>wrote:
>
> > What pages in the study guide are you looking at?
> > ~Chris
> >
> > My Android sent this message.
> >
> > On May 8, 2010 9:21 PM, "David water" <dwater2010 at gmail.com> wrote:
> >
> > All, I was reading EBGP policy from JNCIP book and came across
> > advertisement
> > of local subnet summary to EBGP peer where you have IGP area where you are
> > only receiving default. That part looks tricky. Can some one explain it to
> > make it little easy?
More information about the juniper-nsp
mailing list