RE: split-horizon & BGP

From: Howard C. Berkowitz (hcb@gettcomm.com)
Date: Mon Feb 24 2003 - 23:53:42 GMT-3


At 5:20 PM -0500 2/24/03, Jerry Haverkos wrote:
>Howard
>
>I do not believe that the is a command to turn split-horizon on or off
>available for BGP, especially not one that works at layer 3.

First, let me be clear about some terminology and OSI references,
which you may know.

BGP is not an application. It is a connection-oriented network layer
control program. That it happens to use reliable layer 4 transport
is irrelevant to its payload function, which is totally network layer
oriented. Connection-oriented routing protocol, connection-oriented
transport mechanism.

Split horizon is not a general problem of DV protocols, but of
connectionless transports for the routing information. Split horizon
also applies to routes, not link state information.

It can be perfectly normal behavior to receive a self-originated LSA
or LSP at a LS interface. Split horizon isn't needed because there
are tiebreakers such as age.

RIP and IGRP are multicast/broadcast and can cause loops if split
horizon is not enforced. Since EIGRP first forms neighbor
relationships and uses reliable transport, the split horizon issue is
not nearly as significant. In any case, EIGRP has superior loop
prevention mechanisms.

Think of what the AS_PATH would look like if BGP returned an update
to the AS from which it received it. There would be a loop in it,
and it would be discarded. It definitely would be discarded at the
receiver, and it's an implementer choice to check for loops before
sending.

>My point is
>that BGP does not run at the layer 2 or layer 3 or even layer 4 part of the
>stack.

BGP _payloads_ do run in the management plane at layer 3, as do all
other routing protocols. RIP, for example, runs over UDP, but again
contains only layer 3 management information.

>It is an application that exchanges data via an established BGP TCP
>session. It is an application to application (BGP peer to peer) decision not
>to send routes back to a peer that it received the routes from.)
>
>I do not believe that it has anything to do with the traditional idea that
>split horizon does not allow updates, received over an interface, to be sent
>back over that interface. ;)
>
>-----Original Message-----
>From: nobody@groupstudy.com [mailto:nobody@groupstudy.com]On Behalf Of
>Howard C. Berkowitz
>Sent: Monday, February 24, 2003 3:13 PM
>To: ccielab@groupstudy.com
>Subject: RE: split-horizon & BGP
>
>
>At 12:30 PM -0500 2/24/03, OhioHondo wrote:
>>Since BGP runs as a higher layer protocol (on top of TCP) split horizon
>does
>>not apply.
>
>Why do you think TCP would make a difference in loop detection?
>
>BGP is not strictly a DV protocol. Its primary loop detection method
>is examining incoming AS paths (i.e., path vectors) and rejecting
>those that contain the local AS number.
>
>There are additional methods, for iBGP using confederations and RR's,
>to reduce/eliminate transient internal loops/oscillation, but these
>are probably outside the CCIE scope.
>
>It isn't completely clean, as BGP/PV is provably loop-free only when
>additional policies are NOT used.
>
>>
>>-----Original Message-----
>>From: nobody@groupstudy.com [mailto:nobody@groupstudy.com]On Behalf Of
>>Pedro Eira
>>Sent: Monday, February 24, 2003 10:36 AM
>>To: ccielab@groupstudy.com
>>Subject: split-horizon & BGP
>>
>>
>>Hello, Would split-horizon have any effect on BGP?Should I follow the
>>same rules for BGP as I do for other DV routing protocols when
>>split-horizon is involved?



This archive was generated by hypermail 2.1.4 : Sat Mar 01 2003 - 11:06:34 GMT-3