Configuring MLPPP Fragmentation and Reassembly

You can configure MLPPP fragmentation and reassembly on a static link interface before adding the link to a bundle, or in a profile assigned to a dynamic MLPPP interface. You can also configure fragmentation and reassembly for all current member links in an MLPPP bundle.

Overview

E Series routers support fragmentation and reassembly as part of their MLPPP implementation. Fragmentation is the process by which a large packet is broken up into multiple smaller fragments for simultaneous transmission across multiple links of an MLPPP bundle. Reassembly is the process by which the destination router reassembles the fragments into the original packets.

Application

You can use MLPPP fragmentation and reassembly to reduce transmission latency. You can also use the feature to implement a packet-prioritization scheme that allows smaller, delay-sensitive packets (such as high-priority voice packets) to be interleaved with or race ahead of larger, delay-insensitive packets (such as low-priority data packets) when they are transmitted in the network.

Supported Configurations

Table 16 lists the static and dynamic MLPPP configurations on E Series routers that support fragmentation and reassembly.

Table 16: Supported Configurations for MLPPP Fragmentation and Reassembly

Static MLPPP Configurations

Dynamic MLPPP Configurations

Static MLPPP over ATM 1483 subinterfaces

Dynamic MLPPP over ATM 1483 subinterfaces

Static MLPPP over PPPoE over ATM 1483 subinterfaces

Dynamic MLPPP over PPPoE over ATM 1483 subinterfaces

Static MLPPP over serial (HDLC) interfaces

Dynamic MLPPP over serial (HDLC) interfaces

Dynamic MLPPP over L2TP (on the L2TP network server)

Static MLPPP over PPPoE over Ethernet

Dynamic MLPPP over PPPoE over Ethernet

Module Requirements

For a list of the line modules and corresponding I/O modules that support MLPPP fragmentation and reassembly on ERX7xx models, ERX14xx models, and the ERX310 router, see ERX Module Guide, Appendix A, Module Protocol Support.

For a list of the line modules and corresponding IOAs that support MLPPP fragmentation and reassembly on the E120 and E320 routers, see E120 and E320 Module Guide, Appendix A, IOA Protocol Support.

Link Configuration Parameters

The parameters for MLPPP fragmentation and reassembly are configured on a per-link basis for each link interface (also known as a member link) in an MLPPP bundle.

By default, fragmentation and reassembly are disabled for MLPPP links. You can enable or disable fragmentation and reassembly for an individual link, or for all member links in a bundle, by using the ppp fragmentation and ppp reassembly commands. However, you must configure the same fragmentation setting and the same reassembly setting—enabled or disabled—for all member links in a bundle.

When you use the ppp fragmentation command to enable fragmentation on a link, you can optionally specify the maximum fragment size to be used on the link interface. When you use the ppp reassembly command to enable reassembly on a link, you can optionally specify the administrative multilink maximum received reconstructed unit (MRRU) value for the link.

Bundle Validation and Configuration Guidelines

When you configure MLPPP, the router validates that each link interface attempting to join a statically or dynamically created bundle has Link Control Protocol (LCP) parameters that are compatible with the other member links already in the bundle. This validation includes examining the parameters configured for fragmentation and reassembly on a particular link interface and verifying that these parameters are compatible with the other member links in the bundle.

To ensure that the bundle validation succeeds, make sure you observe the following configuration guidelines for MLPPP fragmentation and reassembly.

Guidelines for MLPPP Fragmentation

Use the following guidelines when you configure MLPPP fragmentation on a link interface:

Guidelines for MLPPP Reassembly

Use the following guidelines when you configure MLPPP reassembly on a link interface:

Bundle Validation Failure

If an MLPPP link interface fails bundle validation because one or more of the preceding configuration guidelines are not met, the router’s actions differ depending on whether you are using a static MLPPP configuration or a dynamic MLPPP configuration, as follows:

Recovering from Bundle Validation Failure

To recover from a bundle validation failure, you must reconfigure the link interface (for static MLPPP configurations) or reconfigure the profile (for dynamic MLPPP configurations) according to the guidelines described in Bundle Validation and Configuration Guidelines.

Configuring Fragmentation and Reassembly for Static MLPPP

To configure fragmentation and reassembly on a static MLPPP link interface:

  1. From Global Configuration mode, specify the individual link interface on which you want to configure fragmentation and reassembly.
    host1(config)#interface serial 4/0:1/1/1/1/1
  2. Specify MLPPP as the encapsulation method on the link interface.
    host1(config-if)#encapsulation mlppp
  3. Enable fragmentation on the link interface, and optionally specify the maximum allowable fragment size to use.
    host1(config-if)#ppp fragmentation 128

    Note: You can specify the maximum fragment size for a link only when you use the ppp fragmentation command to enable fragmentation on that link. You cannot specify the maximum fragment size for a link when fragmentation is disabled.

  4. Enable reassembly on the link interface, and optionally specify the administrative MRRU value to use.
    host1(config-if)#ppp reassembly 1590

    Note: You can specify the administrative MRRU value for a link only when you use the ppp reassembly command to enable reassembly on that link. You cannot specify the administrative MRRU for a link when reassembly is disabled.

  5. Exit Interface Configuration mode.
    host1(config-if)#exit
  6. Repeat Steps 1 through 5 for each additional link interface on which you want to configure fragmentation and reassembly. For example:
    host1(config)#interface serial 4/0:1/1/1/1/2 host1(config-if)#encapsulation mlppp host1(config-if)#ppp fragmentation 128 host1(config-if)#ppp reassembly 1590 host1(config-if)#exit
  7. Define the MLPPP bundle.
    host1(config)#interface mlppp group1
  8. Add each member link to the bundle.
    host1(config-if)#member-interface serial 4/0:1/1/1/1/1 host1(config-if)#member-interface serial 4/0:1/1/1/1/2
  9. Assign an IP address to the MLPPP bundle.
    host1(config-if)#ip address 10.10.100.1 255.255.255.0

Static MLPPP over ATM 1483 Example

The following example configures MLPPP fragmentation and reassembly for two member links in an MLPPP bundle over an ATM 1483 subinterface.

host1(config)#interface atm 2/0 host1(config-if)#interface atm 2/0.2 host1(config-subif)#atm pvc 42 0 42 aal5snap host1(config-subif)#encapsulation mlppp host1(config-subif)#ppp fragmentation host1(config-subif)#ppp reassembly 1400 host1(config-subif)#ppp authentication pap chap host1(config-subif)#exit host1(config)#interface atm 2/0.3 host1(config-subif)#atm pvc 43 0 43 aal5snap host1(config-subif)#encapsulation mlppp host1(config-subif)#ppp fragmentation host1(config-subif)#ppp reassembly 1600 host1(config-subif)#ppp authentication pap chap host1(config-subif)#exit host1(config)#interface mlppp client1 host1(config-if)#member-interface atm 2/0.2 host1(config-if)#member-interface atm 2/0.3 host1(config-if)#ip address 10.10.200.1 255.255.255.0

Configuring Fragmentation and Reassembly for Dynamic MLPPP

To configure fragmentation and reassembly for dynamic MLPPP, you must create a profile that includes commands to define the link and bundle attributes, just as you do for a static MLPPP configuration.

For more information, see:

To define a profile that configures MLPPP fragmentation and reassembly for a dynamic MLPPP interface:

  1. From Global Configuration mode, create a profile by assigning it a name, and access Profile Configuration mode.
    host1(config)#profile dynmlppp1 host1(config-profile)#
  2. Enable the creation of dynamic MLPPP interfaces.
    host1(config-profile)#ppp multilink enable
  3. Enable fragmentation on the link interface, and optionally specify the maximum allowable fragment size to use.
    host1(config-profile)#ppp fragmentation 128

    Note: You can specify the maximum fragment size for a link only when you use the ppp fragmentation command to enable fragmentation on that link. You cannot specify the maximum fragment size for a link when fragmentation is disabled.

  4. Enable reassembly on the link interface, and optionally specify the administrative MRRU value to use.
    host1(config-profile)#ppp reassembly 1800

    Note: You can specify the administrative MRRU value for a link only when you use the ppp reassembly command to enable reassembly on that link. You cannot specify the administrative MRRU for a link when reassembly is disabled.

  5. (Optional) Specify a virtual router to which dynamic IP interfaces created with this profile will be assigned.
    host1(config-profile)#ip virtual-router boston
  6. (Optional) Specify an IP loopback interface with which dynamic IP interfaces created with this profile will be associated.
    host1(config-profile)#ip unnumbered loopback 0
  7. (Optional) Set other PPP characteristics as needed by using the ppp commands described in Configuring Multilink PPP.

Dynamic MLPPP over PPPoE Example

The following example configures MLPPP fragmentation and reassembly for a dynamic MLPPP interface over dynamic PPPoE over an ATM 1483 subinterface.

host1(config)#profile dynmlppp2 host1(config-profile)#ppp multilink enable host1(config-profile)#ppp fragmentation 128 host1(config-profile)#ppp reassembly 1800 host1(config-profile)#ip virtual-router westford host1(config-profile)#ip unnumbered loopback 1 host1(config-profile)#pppoe sessions 9 host1(config-profile)#ppp authentication chap host1(config-profile)#exit host1(config)#interface atm 4/0 host1(config-if)#interface atm 4/0.1 host1(config-subif)#atm pvc 52 0 52 aal5autoconfig 0 0 0 host1(config-subif)#profile pppoe dynmlppp2 host1(config-subif)#auto-configure pppoe

Dynamic MLPPP over L2TP Example

The following example configures MLPPP fragmentation and reassembly for a dynamic MLPPP interface over L2TP over a Gigabit Ethernet interface.

host1(config)#ip router-id 193.1.1.1 host1(config)#interface loopback 0 host1(config-if)#ip address 193.1.1.1 255.255.255.0 host1(config-if)#interface gigabitEthernet 1/1 host1(config-if)#ip unnumbered loopback 0 host1(config-if)#exit host1(config)#ip route 193.1.1.2 255.255.255.255 gigabitEthernet 1/1 host1(config)#profile l2tp-profile host1(config-profile)#ip virtual-router default host1(config-profile)#ip unnumbered loopback 0 host1(config-profile)#ip access-routes host1(config-profile)#ppp authentication pap host1(config-profile)#ppp keepalive host1(config-profile)#ppp multilink enable host1(config-profile)#ppp mru 1590 host1(config-profile)#ppp reassembly 1590 host1(config-profile)#ppp fragmentation 128 host1(config-profile)#pppoe session 8000 host1(config-profile)#exit host1(config)#l2tp destination profile lac ip address 193.1.1.2 host1(config-l2tp-dest-profile)#remote host xxx.com host1(config-l2tp-dest-profile-host)#enable proxy authenticate host1(config-l2tp-dest-profile-host)#tunnel password welcome host1(config-l2tp-dest-profile-host)#profile l2tp-profile

encapsulation mlppp

interface mlppp

member-interface

ppp fragmentation

ppp multilink enable

ppp reassembly

profile

Configuring Fragmentation and Reassembly for MLPPP Bundles

If you issue the ppp fragmentation command or the ppp reassembly command in the context of an MLPPP bundle, the command affects all the current member links in the bundle. This enables you to issue a single command for the entire bundle instead of having to issue individual commands for each member link in the bundle.

For example, the following commands configure MLPPP fragmentation and reassembly for all member links in the bundle group1.

host1(config)#interface mlppp group1 host1(config-if)#ppp fragmentation 128 host1(config-if)#ppp reassembly 1590 host1(config-if)#exit host1(config)#

Any member links added to the bundle after you issue an MLPPP configuration command in the bundle context are not affected by the command. For example, if you add a member link to the group1 bundle after you issue the ppp fragmentation or ppp reassembly command, MLPPP fragmentation and reassembly for this link and any member links subsequently added to the bundle is not enabled.