cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
434
Views
5
Helpful
3
Replies

BGP Synchronization and MPLS

Victor5633
Level 1
Level 1

Hi,

    I have the following small topology currently setup. But I can I understand how could this be working. R11, R12, and R13 are all running IS-IS as their IGP. R11 and R13 have an I-BGP session between themselves and they are both adverting a remote prefix that lives behind each of them. Since R12 is not running BGP it will drop the packet do to synchronization issue between the BGP and IGP. So to fix this issue I decided to use MPLS. So I enabled MPLS on all three routers which will then fix the issue since R13 is imposing a label and R12 does not have to route the packet but instead switch the packet based on the label so it won't drop it. However, what I don't understand is how does R13 no what label to impose when forwarding the packet towards R12. Is it just imposing label 16 for all the prefixes behind R11 since thats the same label it's using to reach the peering ip on R11. Below is some output from each of the devices. If you need more please let me know.

Thank you

Diagram

R11#sh ip bgp
BGP table version is 3, local router ID is 192.168.1.11
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.0/24 0.0.0.0 0 32768 i
*>i 13.13.13.0/24 192.168.1.13 0 100 0 i
R11#sh mpls for
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
16 Pop Label 10.12.13.0/24 0 Se2/0 point2point
17 17 192.168.1.13/32 0 Se2/0 point2point
R11#
R11#ping 13.13.13.13 source 11.11.11.11
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 13.13.13.13, timeout is 2 seconds:
Packet sent with a source address of 11.11.11.11
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/16/17 ms
R11#
R11#sh ip cef 13.13.13.13
13.13.13.0/24
nexthop 10.11.12.12 Serial2/0 label 17
R11#


R12#sh ip bgp
% BGP not active

R12#
R12#sh mpls for
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
16 Pop Label 192.168.1.11/32 2081 Se2/0 point2point
17 Pop Label 192.168.1.13/32 2062 Se2/1 point2point
R12#
R12#
R12#sh ip cef 11.11.11.11
0.0.0.0/0
no route
R12#
R12#sh ip cef 13.13.13.13
0.0.0.0/0
no route
R12#
R12#sh ip cef 192.168.1.11
192.168.1.11/32
nexthop 10.11.12.11 Serial2/0
R12#
R12#sh ip cef 192.168.1.13
192.168.1.13/32
nexthop 10.12.13.13 Serial2/1
R12#

R11#sh ip cef 192.168.1.13
192.168.1.13/32
nexthop 10.11.12.12 Serial2/0 label 17
R11#


R13#sh ip bgp
BGP table version is 5, local router ID is 192.168.1.13
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
*>i 11.11.11.0/24 192.168.1.11 0 100 0 i
*> 13.13.13.0/24 0.0.0.0 0 32768 i
R13#
R13#sh mpls for
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
16 Pop Label 10.11.12.0/24 0 Se2/1 point2point
17 16 192.168.1.11/32 0 Se2/1 point2point
R13#
R13#ping 11.11.11.11 source 13.13.13.13
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.11.11.11, timeout is 2 seconds:
Packet sent with a source address of 13.13.13.13
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/16/17 ms
R13#

R13#sh ip cef 192.168.1.11
192.168.1.11/32
nexthop 10.12.13.12 Serial2/1 label 16
R13#

3 Replies 3

Peter Paluch
Cisco Employee
Cisco Employee

Hi Victor,

The logic of imposing MPLS label is rather simple: Whenever you do a routing table lookup and find a matching route, check your label binding database to see if you know a label binding for this network from the next hop. If yes, push the label onto the label stack on the packet; if not, just skip it.

Now, in your case, your R13 made two routing table lookups:

  1. For 11.11.11.11, you have found a matching route with the next hop of 192.168.1.11 - it's the BGP-learned route. However, this next hop (it's in fact the BGP neighbor R11) did not advertise any label for this network, so no label will come into the packet at this point.
  2. You now have to resolve the route to the next hop 192.168.1.11 itself because it is not on a directly attached network. You now perform a second routing table lookup and you will find a matching route 192.168.1.11/32 learned by IS-IS from the neighbor 10.12.13.12. This next hop has advertised a label binding for 192.168.1.11/32 to you via LDP - the label is 16. So this becomes the label that is pushed onto your packet going to 11.11.11.11.

That's where the label came from.

Please feel welcome to ask further!

Best regards,
Peter

Hi Peter,

       So for any subsequent prefixes that R11 decides to advertise via BGP R13 will always use a label of 16 in this case since to reach the next of 192.168.1.11 is label 16?

Thank you,

Victor

Hi Victor,

So for any subsequent prefixes that R11 decides to advertise via BGP R13 will always use a label of 16 in this case since to reach the next of 192.168.1.11 is label 16?

Yes, that's perfectly right. As long as the BGP next hop is 192.168.1.11 and this in turn resolves into the IGP next hop 10.12.13.12, the label will be 16 because this label identifies the LSP (the label switched path) toward 192.168.1.11 (R11) from R13.

Best regards,
Peter