Skip to content

MLPPP

Multilink PPP (MLPPP) enables combining multiple physical PPP links into a single logical interface, providing increased bandwidth through aggregation and link redundancy through failover. This capability is particularly valuable for scenarios requiring higher throughput than single links can provide, such as aggregating multiple DSL lines or bonding cellular modems.

MLPPP works by fragmenting packets across multiple physical links and reassembling them at the destination. This load balancing increases effective bandwidth while maintaining packet ordering. If any link fails, traffic automatically redistributes across remaining links without session interruption.

MLPPP operates at the PPP layer, requiring no special support from underlying networks. Each physical interface runs standard PPP (or PPPoE), while the MLPPP interface bundles them together. The protocol handles packet fragmentation, sequencing, and reassembly transparently to higher layers.

Two deployment modes exist: single-link MLPPP and multi-link MLPPP. Single-link mode enables MRRU (Maximum Reconstructed Receive Unit) for full-sized packet transmission, essential for bridging scenarios. Multi-link mode aggregates bandwidth across multiple links for improved throughput.

Key benefits include:

  • Bandwidth Aggregation: Combine multiple links for higher throughput
  • Load Balancing: Distribute traffic across all active links
  • Failover: Automatic redistribution when links fail
  • MRRU Support: Transmit full-sized Ethernet frames over PPP

Single-link MLPPP enables MRRU support on a single PPP connection. This configuration is primarily used for bridging scenarios where full-sized Ethernet frames must traverse the PPP link.

Enable single-link MLPPP when:

  • Running BCP (Bridge Control Protocol) to bridge Ethernet over PPP
  • Transmitting VLAN-tagged traffic that exceeds standard PPP MTU
  • Networks require full 1500+ byte frames end-to-end

Configure single-link MLPPP on a PPPoE client:

/interface pppoe-client add name=pppoe-out1 interface=ether1 \
service-name=isp user=username password=secret \
mrru=1600

The mrru=1600 parameter enables single-link Multilink PPP, allowing packets up to 1600 bytes to be transmitted without fragmentation at the PPP layer.

Verify the configuration:

/interface pppoe-client monitor pppoe-out1

The output shows MRRU status:

status: connected
mrru: 1600

Multi-link MLPPP combines multiple physical links into a single logical interface with aggregated bandwidth. This requires multiple PPP connections to the same provider or endpoint.

Multi-link MLPPP requires:

  • Multiple physical interfaces (separate DSL lines, cellular modems, etc.)
  • ISP or peer supporting MLPPP on each link
  • Links must have similar latency for optimal performance

This example aggregates three PPPoE connections:

Create individual PPPoE clients:

/interface pppoe-client add name=pppoe-1 interface=ether1 \
service-name=isp user=user1 password=pass1 connect-to=isp.example.com
/interface pppoe-client add name=pppoe-2 interface=ether2 \
service-name=isp user=user2 password=pass2 connect-to=isp.example.com
/interface pppoe-client add name=pppoe-3 interface=ether3 \
service-name=isp user=user3 password=pass3 connect-to=isp.example.com

Create MLPPP interface:

/interface bonding add name=bond1 \
slaves=pppoe-1,pppoe-2,pppoe-3 \
mode=balance-rr

Note: RouterOS uses interface bonding for MLPPP rather than a dedicated MLPPP interface. The bonding implementation provides similar functionality with additional flexibility.

Configure addressing:

/ip address add address=203.0.113.10/30 interface=bond1

The bonding interface supports multiple modes for different scenarios:

ModeBehaviorUse Case
balance-rrRound-robin across linksMLPPP aggregation
active-backupOne active, others standbyFailover only
balance-xorHash-based distributionFixed assignment
broadcastAll packets on all linksRedundancy
balance-tlbTransmit load balancingAsymmetric links
balance-albAdaptive load balancingFull duplex

For MLPPP functionality, use balance-rr mode.

Check bonding status:

/interface bonding monitor bond1

The output shows all slaves and their status:

name: bond1
凝聚力: 3
slaves: pppoe-1, pppoe-2, pppoe-3
pppoe-1: status: active
pppoe-2: status: active
pppoe-3: status: active

Monitor traffic distribution:

/interface bonding print stats

MLPPP enables sending full-sized Ethernet frames over PPP links through BCP (Bridge Control Protocol). This creates the effect of extending a local network across PPP connections.

First, enable MRRU on each PPP connection:

/interface pppoe-client set [find] mrru=1600

Create a bridge and add interfaces:

/interface bridge add name=bridge1
/interface bridge port add bridge=bridge1 interface=bridge-local
/interface bridge port add interface=pppoe-out1

Configure the PPP interface to accept VLAN traffic:

/interface bridge set bridge1 vlan-filtering=yes
/interface bridge vlan add bridge=bridge1 tagged=pppoe-out1 vlan-ids=10,20,30

Verify bridge status:

/interface bridge print
/interface bridge port print

Test connectivity across the link to ensure frames transmit properly.

Common MLPPP issues and solutions.

Multi-link MLPPP requires links with similar characteristics. If links have significantly different latency, performance degrades.

Solution: Use links with similar bandwidth and latency. Consider single-link MLPPP with MRRU if bonding multiple diverse links.

When one link fails, traffic redistributes. Brief interruptions may occur during redistribution.

Solution: Use the bonding monitor to track link status. Ensure upper-layer protocols handle brief outages.

If MRRU is enabled but large packets still fail:

Solution:

  • Verify MRRU is set on both endpoints
  • Check intermediate network devices don’t fragment oversized packets
  • Ensure firewall allows larger packet sizes

Out-of-order packets can cause application problems:

Solution: MLPPP includes sequencing information to reorder packets. Ensure no middleboxes are reassembling packets incorrectly.

MLPPP serves several practical scenarios:

ISP Aggregation: Combine multiple ISP connections for higher bandwidth or redundancy. Useful for businesses needing more bandwidth than single ISP provides.

Cellular Bonding: Aggregate multiple cellular modems for improved throughput. Common in mobile deployments or remote locations.

DSL Bonding: Combine multiple DSL lines from the same provider. Many providers support DSL bonding for business customers.

Bridging Remote Networks: Use single-link MLPPP with BCP to bridge networks across PPP connections, extending local network reach.