MPLS + BGP advanced features
Will LDP allocate tags for BGP routes? Why? --- Previously we mentioned that LDP assigns tags to IGP and never assigns tags to BGP. the following uses an experiment to illustrate how LDP + BGP works. forwarding method of a pure IP Network: In this topology, R1 and R4 establish an EBGP neighbor. r3 and R5 establish EBGP neighbors. build an IBGP neighbor between R1 and R3. IGP protocol between R1-R2-R3 is OSPF. network 44.1.1.1 mask protocol 255.255.255r5 bgp network 55.1.1.1 mask protocol 255.255.255 in R4 bgp: Eventually, both R4 and R5 will learn the peer BGP Route through BGP. first, there is a problem: R4 ping 55.1.1.1 source loo0, or R5 ping 44.1.1.1 sou loo0. Will it pass? ------------- The answer is no. by doing experiments, we can prove that. the reason is above R2. if it is a pure IP address, R2 is a routing black hole. on R2, neither 44.1.1.1 nor 55.1.1.1 is available. if you want to connect the two vrouters R4 and R5, there are many methods unless R2 is also involved in BGP. R2 acts as the RR route reflector. R1 and R3 are both R2 clients. or use the consortium. in short, R2 must be able to learn the routes related to 44.1.1.1/55.1.1.1, so that communication can be performed in a pure IP environment. otherwise, R2 is a routing black hole. MPLS label forwarding method: the topology is still displayed, but the mpls ip is run between R1, R2, and R3 in the middle AS 100 region. at this time, R2 still does not run BGP. other conditions are the same as those for the above pure IP forwarding. in this case, R4 network 44.1.1.1/32 enters BGP. r5 network 55.1.1.1/32 enters bgp. q: Can I ping R5 on R4? Why? ------- The experiment showed that it could pass. Conclusion: an IP packet is received on the ASBR. For R1, the source is 44.1.1.1. the purpose is 55.1.1.1, which is to import the e0/1 IP address of R1 from e0/0 MPLS of R1. the destination is to a bgp entry. at this time, a label will be added, and a label will be added to the next hop of the bgp Route. this is why R2 does not go to route 55.1.1.1 or 44.1.1.1, but there are still labels because the labels are for 11.1.1.1 or 33.1.1.1. R2 has a route prefix and associated tag ing. Therefore, make sure that the ASBR has a detailed route. Otherwise, packet loss will occur because there are no entries in the core route table in the ASBR. next let's take a look at how this data stream goes: On R4, ping 55.1.1.1 source loo0.1. First, R4 needs the prefix routing information of 55.1.1.1. here, in the R4 core route table, the next hop for this route is 14.1.1.1. accessible. then the data packet is sent to R1. 2. When the IP packet is sent to R1, It is IP ---> MPLS. Check the CEF table. the following are all related table items of R1. first, R1 has a route entry with the core route table: show ip routeB 55.1.1.1 [200/0] via 33.1.1.1, 02:40:13 here, R1 is going to 55.1.1.1, And the next hop of the bgp Route Is 33.1.1.1. secondly, in the show ip cef table, we found that the prefix of 55.1.1.1 was assigned a label = 17 by remote R2. again, in LFIB, the label 17 is actually allocated to 33.1.1.1 (which is the next hop with the bgp prefix ).. Finally, the packet is pushed to a label of 17 and forwarded to R2.3 through the e0/0 of R1. When the MPLS packet carries the label of 17, it enters the e0/0 of R2. the label forwarding table of R2 is as follows: for incoming 17 MPLS packets, this label is displayed on R2, because 33.1.1.1/32 is a direct connection of R3, r3 will allocate an implicit null label to the 33.1.1.1 prefix and distribute it to R2. when the packet arrives at R2, the label will be stripped and pop label (the penultimate pop-up Mechanism of PHP) will be removed ). then the IP packet is forwarded to R3.4. After R3 receives the packet. the message category is 55.1.1.1. search route table: route table above R3: On R3, it reaches 55.1.1.1, And the next hop is a direct connection route 35.1.1.5. yes. Therefore, the data packet is forwarded to R5.5, and the data packet is forwarded to R5. ========================================================== ===== Thinking: if R1 and R3 use the physical interface instead of loopback as the bgp source, can R4 and R5 still communicate? The previous application was the IBGP established by R1 and R3 using the loopback port. Think, if you use a direct connection to build an IBGP neighbor, can R4 and R5 still communicate through the MPLS domain? Why? ----------- The answer is no. Cause: After the data packet arrives at R1, the route table on R1 will become: show ip routeB 55.1.1.1 [200/0] via 23.1.1.3, R2 will think that 23.1.1.0/24 is its own direct connection route, then R2 will assign an empty tag to 23.1.1.0/24. the labels for 23.1.1.0 are not distributed to R1 and R3.R1. after the IP packet arrives at R2, R2 queries the route table without tags. Because R2 does not enable bgp at all, and there is no route for 44.1.1.1/55.1.1.1, so R2 becomes a routing black hole. the main purpose is to use tags to send data packets to R3, so that R3 can query and forward data through routing.