![]() | Cisco Systems |
Link Aggregation - Multilink PPP (MLP)Multilink PPP (MLP)There are many load-balancing mechanisms available, but this one is free for use on serial WAN links! It provides multivendor support and is specified in RFC 1990, which details the fragmentation and packet sequencing specifications.You can use MLP to connect your home network to an Internet service provider using two traditional modems or to connect a company via two leased lines. The MLP feature provides a load-balancing functionality over multiple WAN links while allowing for multivendor interoperability. It offers support for packet fragmentation, proper sequencing, and load calculation on both inbound and outbound traffic. MLP allows packets to be fragmented and then sent simultaneously over multiple point-topoint links to the same remote address. It can work over synchronous and asynchronous serial types. MLP combines multiple physical links into a logical link called an MLP bundle, which is essentially a single, virtual interface that connects to the remote router. None of the links inside the bundle have any knowledge about the traffic on the other links The MLP over serial interfaces feature provides us with the following benefits:Load balancing MLP provides bandwidth on demand, utilizing load balancing on up to 10 links and can even calculate the load on traffic between specific sites. You don’t actually need to make all links the same bandwidth, but doing so is recommended. Another key MLP advantage is that it splits packets and fragments across all links, which reduces latency across the WAN. Increased redundancy This one is pretty straightforward… If a link fails, the others will still transmit and receive.Link fragmentation and interleaving The fragmentation mechanism in MLP works by fragmenting large packets, then sending the packet fragments over the multiple point-topoint links. Smaller real-time packets are not fragmented. So interleaving basically means real-time packets can be sent in between sending the fragmented, non-real-time packets, which helps reduce delay on the lines. So let’s configure MLP now to get a good feel for how it actually works now. Configuring MLPBut first, I want you to study the configuration of the two serial interfaces on the Corp router that we’re going to use for making our bundle: Corp#show interfaces Serial0/0Serial0/0 is up, line protocol is up Hardware is M4T Internet address is 172.16.10.1/30 MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation PPP, LCP Open Open: IPCP, CDPCP, crc 16, loopback not set Corp#show interfaces Serial1/1 Serial1/1 is up, line protocol is up Hardware is M4T Internet address is 172.16.10.9/30 MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation PPP, LCP Open Open: IPCP, CDPCP, crc 16, loopback not set Did you notice that each serial connection is on a different subnet (they have to be) and that the encapsulation is PPP? Corp(config)#int Serial0/0 Corp(config-if)#no ip address Corp(config-if)#int Serial1/1 Corp(config-if)#no ip address Corp(config-if)#end Corp# SF#config t SF(config)#int Serial0/0 SF(config-if)#no ip address SF(config-if)#int Serial0/1 SF(config-if)#no ip address SF(config-if)#end SF# Now we create the multilink interface on each side of the link and the MLP commands to enable the bundle. Corp#config t Corp(config)#interface Multilink1 Corp(config-if)#ip address 10.1.1.1 255.255.255.0 Corp(config-if)#ppp multilink Corp(config-if)#ppp multilink group 1 Corp(config-if)#end SF#config t SF(config)#interface Multilink1 SF(config-if)#ip address 10.1.1.2 255.255.255.0 SF(config-if)#ppp multilink SF(config-if)#ppp multilink group 1 SF(config-if)#exit We can see that a link joins an MLP bundle only if it negotiates to use the bundle when a
connection is established and the identification information that has been exchanged matches the info for an existing bundle. Verifying MLPTo verify that your bundle is up and running, just use the show ppp multilink and show interfaces multilink1 commands:Corp#show ppp multilink Multilink1 Bundle name: Corp Remote Endpoint Discriminator: [1] SF Local Endpoint Discriminator: [1] Corp Bundle up for 02:12:05, total bandwidth 4188, load 1/255 Receive buffer limit 24000 bytes, frag timeout 1000 ms 0/0 fragments/bytes in reassembly list 0 lost fragments, 53 reordered 0/0 discarded fragments/bytes, 0 lost received 0x56E received sequence, 0x572 sent sequence Member links: 2 active, 0 inactive (max 255, min not set) Se0/1, since 01:32:05 Se1/2, since 01:31:31 No inactive multilink interfaces We can see that the physical interfaces, Se0/1 and Se1/1, are members of the logical interface bundle Multilink 1. So now we’ll verify the status of the interface Multilink1 on the Corp router: Corp#show int Multilink1Multilink1 is up, line protocol is up Hardware is multilink group interface Internet address is 10.1.1.1/24 MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation PPP, LCP Open, multilink Open Open: IPCP, CDPCP, loopback not set Keepalive set (10 sec) [output cut] |