In the video for split horizon when the routers are drawn linearly and are within the same AS you show that the first router advertise its prefixes to the second router but the second router cant advertise it to the third due to split horizon. Technically since all 3 of the routers are within the same AS then the first router should not be able to advertise to the second router too right due to the same rule? They are all IBGP neighbors then no router should be able to advertise any prefixes correct? or is there a rule where the first router in an IBGP can advertise its prefixes to the next router and it stops there?
The iBGP split horizon rule states that an iBGP router that learns a route from an iBGP peer will not advertise that route to any other peers. This does not mean that the iBGP router cannot advertise routes that it learns from other sources, like from the network command under the BGP configuration, or from redistribution from an IGP or from static routes. These routes can and will be advertised using iBGP.
Remember, iBGP requires a full mesh of iBGP peerings between all iBGP routers within an AS. That means that an iBGP router will advertise its networks to all other iBGP peers directly. So there is no need for one iBGP router to relay routes it learns from another iBGP router. Does that make sense?
This has to do with the way iBGP works. If you do it the way you suggest, the advertisement would never reach R4 because of the iBGP split horizon rule. On the other hand, if you made R3 an iBGP peer as well as you suggest, you would also have to follow the iBGP full mesh peering rule, which means you would be obligated to create the peering between R2 and R4 directly.
By making only R2 and R4 iBGP peers, and keeping R3 out, you are not breaking any of these design rules, allowing BGP to advertise the necessary networks. Does that make sense?
Hello Guys I have one question in this part of the text:
So, our IP packet reached R4, but after that, it went somewhere into oblivion. R4 is not the problem, so weâll have to check the next device in the path towards R1. Thatâs R3.
R3 is an interesting router since it doesnât run BGP, only OSPF. Letâs check R3:
R3#show ip route 1.1.1.0
% Network not in table
Why the traffic need to go from R5 - R4 - R3 ? cause already we have and neighborhood between R4 - R2 I think the path must be R5 - R4 - R2.
From the point of view of BGP, indeed, the next hop from R4 is R2. However, physically, the packet must still traverse R3. So that packet will reach R3 with a destination IP of 1.1.1.1. Since R3 does not have that in its routing table, it will discard it. It is not enough for R4 to have R2âs IP address as the next hop. This just tells R4 out of which interface to send the packet. It is the responsibility of R3 to route the packet to its destination further, but if its routing table (for whatever reason) doesnât have the destination network, it will be discarded.
For this reason, R3 must also learn about the destination network, and to do that it should participate in BGP.
When R1 advertises its 1.1.1.0/24 network to R2, it advertises it with the IP address of the Fa0/0 interface of R1 as the next hop IP: 192.168.12.1. This makes sense since thatâs the interface to which you want to send packets destined for the 1.1.1.0/24 network.
However, R2 must now announce the 1.1.1.0/24 network to its iBGP peers within AS2. When it does so, it does not change the next hop IP. So when R4 receives the BGP update for 1.1.1.0/24 it will also receive it with a next hop IP of 192.168.12.1. However, R4 doesnât know how to reach 192.168.12.1, because that destination is not in its routing table.
One of the prerequisites of a route entering the BGP table is that the next hop is reachable (i.e. in the local routing table). But this is not the case at this point for R4, so the route does not enter the BGP table.
To resolve this issue, R2 has been configured with the ânext hop selfâ feature. This feature causes R2 to replace the next hop IP for the 1.1.1.0/24 network with itself when it advertises it. So when it announces this prefix to R4, it will use the 2.2.2.2 address as the next hop IP for that route, which is its own IP address. Ultimately, this allows R4 to put the 1.1.1.0/24 network into its BGP table, because it has a route to that next hop address.
For more information about the next hop self feature and examples of how it is employed, take a look at the following lesson: