9 Replies Latest reply: Oct 5, 2011 2:22 PM by Anthony Sequeira, CCIE,VCP RSS

    bgp in a straight line

    alef

      I had a question and not sure what the best approach is (or if i understand properly).

       

      If i have nodes

       

      A-B-C-D

       

      And they are configured similar, what should i configure to make sure routes get passed to eachother? I am

      redistributing ospf igp routes from router a into bgp. All bgp nodes are connected by their interface address.

       

      1. They are not in different AS, it's all ibgp.

      2. I would think either a route reflector, or a confederation.

      I tried to setup a confederation, with no confed peers (obviously) and i couldn't get it to work.

       

      The route reflector, i couldn't get to work neither. But may i botched it up due to misunderstanding. I made router a

      a router reflector (configured b,c and as clients), but i guess it only reflects, it doesn't actually passes on it's own bgp routes to neighbors.

       

      Ofcourse i could make each router redistribute ospf into bgp, but i really don't want to do that. I want

      to overcome the ibgp issue of a full mesh. And i've always been told that either use a route reflector or a conferation.

      Maybe in hindsigh router A wasn't such a good pick :-), i guess B or C would have been better as they are partially fully meshed, but there would still

      be one node that wouldn't be getting routes (A or D).

       

      warm regards,

      Alef

        • 1. Re: bgp in a straight line
          Anthony Sequeira, CCIE,VCP

          First - let's make sure you are clear on the rule that is preventing the BGP prefixes from propagating to all devices. It is the iBGP split horizon rule. A will pass the updates to B using the iBGP peering, but B will not pass the routes to C as the rule states, do not pass updates learned from one iBGP peer to other iBGP peers. As you state, a full mesh of iBGP peerings is assumed.

           

          To solve this we can do several things. The two you must absolutely master are route reflection and confederation as you mention.

           

          Let us examine route reflection here. B is receiving the updates and it is not passing them to C as a result of the split horizon rule. If we make B a route reflector and C a client, then the updates will make it to C. But then C will not pass the updates to D as a result of the darn rule again. How about we make C a reflector also and D a client? That should do the trick!

           

          Here are the relevant configurations:

          A#show run

          Building configuration...

           

           

          Current configuration : 901 bytes

          !

          version 12.4

          service timestamps debug datetime msec

          service timestamps log datetime msec

          no service password-encryption

          !

          hostname A

          !

          boot-start-marker

          boot-end-marker

          !

          !

          no aaa new-model

          memory-size iomem 5

          ip cef

          !

          !

          !

          !

          !

          multilink bundle-name authenticated

          !

          !

          !

          !

          !

          archive

          log config

            hidekeys

          !

          !

          !

          !

          !

          !

          !

          interface Loopback100

          ip address 1.1.1.1 255.255.255.0

          !

          interface FastEthernet0/0

          ip address 10.10.10.1 255.255.255.0

          duplex auto

          speed auto

          !

          interface FastEthernet0/1

          no ip address

          shutdown

          duplex auto

          speed auto

          !

          router ospf 1

          log-adjacency-changes

          network 0.0.0.0 255.255.255.255 area 0

          !

          router bgp 100

          no synchronization

          bgp log-neighbor-changes

          redistribute ospf 1

          neighbor 10.10.10.2 remote-as 100

          no auto-summary

          !

          ip forward-protocol nd

          !

          !

          ip http server

          no ip http secure-server

          !

          !

          !

          !

          !

          control-plane

          !

          !

          line con 0

          line aux 0

          line vty 0 4

          !

          !

          end

           

          B#show run

          Building configuration...

           

           

          Current configuration : 971 bytes

          !

          version 12.4

          service timestamps debug datetime msec

          service timestamps log datetime msec

          no service password-encryption

          !

          hostname B

          !

          boot-start-marker

          boot-end-marker

          !

          !

          no aaa new-model

          memory-size iomem 5

          ip cef

          !

          !

          !

          !

          !

          multilink bundle-name authenticated

          !

          !

          !

          !

          !

          archive

          log config

            hidekeys

          !

          !

          !

          !

          !

          !

          !

          interface Loopback100

          ip address 2.2.2.2 255.255.255.0

          !

          interface FastEthernet0/0

          ip address 10.10.10.2 255.255.255.0

          duplex auto

          speed auto

          !

          interface FastEthernet0/1

          ip address 11.11.11.2 255.255.255.0

          duplex auto

          speed auto

          !

          router ospf 1

          log-adjacency-changes

          network 0.0.0.0 255.255.255.255 area 0

          !

          router bgp 100

          no synchronization

          bgp log-neighbor-changes

          neighbor 10.10.10.1 remote-as 100

          neighbor 11.11.11.3 remote-as 100

          neighbor 11.11.11.3 route-reflector-client

          no auto-summary

          !

          ip forward-protocol nd

          !

          !

          ip http server

          no ip http secure-server

          !

          !

          !

          !

          !

          control-plane

          !

          !

          line con 0

          line aux 0

          line vty 0 4

          !

          !

          end

           

          C#sho run

          Building configuration...

           

           

          Current configuration : 913 bytes

          !

          version 12.4

          service timestamps debug datetime msec

          service timestamps log datetime msec

          no service password-encryption

          !

          hostname C

          !

          boot-start-marker

          boot-end-marker

          !

          !

          no aaa new-model

          memory-size iomem 5

          ip cef

          !

          !

          !

          !

          !

          multilink bundle-name authenticated

          !

          !

          !

          !

          !

          archive

          log config

            hidekeys

          !

          !

          !

          !

          !

          !

          !

          interface FastEthernet0/0

          ip address 11.11.11.3 255.255.255.0

          duplex auto

          speed auto

          !

          interface FastEthernet0/1

          ip address 12.12.12.3 255.255.255.0

          duplex auto

          speed auto

          !

          router ospf 1

          log-adjacency-changes

          network 0.0.0.0 255.255.255.255 area 0

          !

          router bgp 100

          no synchronization

          bgp log-neighbor-changes

          neighbor 11.11.11.2 remote-as 100

          neighbor 12.12.12.4 remote-as 100

          neighbor 12.12.12.4 route-reflector-client

          no auto-summary

          !

          ip forward-protocol nd

          !

          !

          ip http server

          no ip http secure-server

          !

          !

          !

          !

          !

          control-plane

          !

          !

          line con 0

          line aux 0

          line vty 0 4

          !

          !

          end

           

          D#show run

          Building configuration...

           

           

          Current configuration : 822 bytes

          !

          version 12.4

          service timestamps debug datetime msec

          service timestamps log datetime msec

          no service password-encryption

          !

          hostname D

          !

          boot-start-marker

          boot-end-marker

          !

          !

          no aaa new-model

          memory-size iomem 5

          ip cef

          !

          !

          !

          !

          !

          multilink bundle-name authenticated

          !

          !

          !

          !

          !

          archive

          log config

            hidekeys

          !

          !

          !

          !

          !

          !

          !

          interface FastEthernet0/0

          ip address 12.12.12.4 255.255.255.0

          duplex auto

          speed auto

          !

          interface FastEthernet0/1

          no ip address

          shutdown

          duplex auto

          speed auto

          !

          router ospf 1

          log-adjacency-changes

          network 0.0.0.0 255.255.255.255 area 0

          !

          router bgp 100

          no synchronization

          bgp log-neighbor-changes

          neighbor 12.12.12.3 remote-as 100

          no auto-summary

          !

          ip forward-protocol nd

          !

          !

          ip http server

          no ip http secure-server

          !

          !

          !

          !

          !

          control-plane

          !

          !

          line con 0

          line aux 0

          line vty 0 4

          !

          !

          end

           

           

          D#

           

          Anthony Sequeira

          http://stormwindlive.tv/demos.html

          Twitter: @compsolv

          Facebook: http://www.facebook.com/compsolv

          • 2. Re: bgp in a straight line
            cadetalain

            Hi,

             

            Show us routing config of router A, routing table and bgp table of router A

            then bgp table of other routers when you did the the route-reflector config.

             

             

            Alain.

            • 3. Re: bgp in a straight line
              alef

              Hi Anthony,

              That's great, i'll lab that up and test. Thanks so much!

              Would i also be able to fix this with a confederation ?

              • 4. Re: bgp in a straight line
                Anthony Sequeira, CCIE,VCP

                Yes - confederation is also an option to get this working. This creates sub-AS systems and makes things act like eBGP peerings to get around the iBGP split horizon rule. With all due respect, you are not ready to start thinking about that yet - you have a lot of work to do on Route Reflection.

                 

                Anthony Sequeira

                http://stormwindlive.tv/demos.html

                Twitter: @compsolv

                Facebook: http://www.facebook.com/compsolv

                • 5. Re: bgp in a straight line
                  Scott Morris - CCDE/4xCCIE/2xJNCIE

                  Didn't work, or just didn't see any routes?

                   

                  iBGP has an AD of 200.  You're also running everything is OSPF, which has an AD of 110 meaning that those routes will win!

                   

                  "show ip bgp" should show some "r>" for RIB failure messages if you have anything exchanged correctly.  But that will tell you whether BGP itself is seeing anything!

                   

                  The redistribution on the first router should pass along down the line just fine, but won't really affect anything.

                   

                  HTH,

                   

                  Scott

                  • 6. Re: bgp in a straight line
                    Anthony Sequeira, CCIE,VCP

                    Those are my configs Scott. I labbed it up quickly for the student with the point being of how the Route Reflection could be used to solve the iBGP Split Horizon rule.

                     

                    While quick and sloppy, the configurations demonstrate what he needs to understand.

                     

                    Anthony Sequeira

                    http://stormwindlive.tv/demos.html

                    Twitter: @compsolv

                    Facebook: http://www.facebook.com/compsolv

                    • 7. Re: bgp in a straight line
                      Scott Morris - CCDE/4xCCIE/2xJNCIE

                      Oh yea, so they are.   

                       

                      Sorry, didn't pay attention to who posted the configs!

                      • 8. Re: bgp in a straight line
                        alef

                        Thanks Anthony and Scott,

                        much appreciated as always. I would appreciate it if you could review my thoughts on ibgp peelings and if i understand it correctly now. I took some time to lab it all and process it.

                         

                        So to recap from what i've learned from my trials and tribulations with ibgp:

                        1. I can choose confederations or route-reflectors when working with a bgp AS that is not fully meshed.

                        2. This is based on that all routers run an IGP like ospf.

                        3. If using route reflector option, we need to make R3 and R4 route-reflectors.

                        4. One ibgp neighbor will pass on routes to another, but no further.

                         

                        But a few questions remain:

                        1. I tried doing without an igp, again using R2 and R3 as route reflectors, but this time the routes only got as a far as R3, but no further. Once i setup static routes everything worked the same as with an igp. So i gather static routes fulfill the same connectivity function as a real igp. It also seems a route reflector reflects once more in addition to point 4, and only once (i.e. reflection only goes from one node to another, the route is not passed on from clients to clients, or at least not if the route is deemed inaccessible).

                        2. I tried doing without an igp, with a confederation as well. Now i, as expected, did not need to use route reflectors. Here i also used static routes.

                         

                        I guess i was wondering i couldn't fix any of the connectivity issue's with the next-hop-self statement, and cascade the routers in such a way. Can we only use next-hop-self when passing routes from a ebgp neighbor to a ebgp neighbor who has ibgp neighbors? Because it doesn't seem to work when there is no igp, and when there is an igp it doesn't have a need for it (because it already knows how to get there). (it also doesn't work setting it though). What are the criteria for when it is allowed to use the next-hop-self statement ?

                         

                        And when we are talking about a bgp full mesh, are we talking about a bgp logical mesh or a physical full mesh ?

                         

                        Kind regards,

                        Alef

                        • 9. Re: bgp in a straight line
                          Anthony Sequeira, CCIE,VCP

                          I recommend you start a new thread and ask a carefully phrased question you have about BGP at this point Alef. That will help us to much better help you. If you have a bunch of questions (and it appears you do), consider other threads after we fully resolve your next one.

                           

                          Anthony Sequeira

                          http://stormwindlive.tv/demos.html

                          Twitter: @compsolv

                          Facebook: http://www.facebook.com/compsolv