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 13 lists the static and dynamic MLPPP configurations on E-series routers that support fragmentation and reassembly.
Module Requirements
For a list of the line modules and corresponding I/O modules that support MLPPP fragmentation and reassembly on ERX-7xx models, ERX-14xx models, and the ERX-310 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 router and the E320 router, 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 settingenabled or disabledfor 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:
- Configure the same fragmentation settingenabled or disabledfor all member links in a bundle.
- When fragmentation is enabled, configure the same fragment size for all member links in a bundle.
- Make sure a link's fragment size does not exceed its maximum transmission unit (MTU) size.
- Do not configure both MLPPP fragmentation (with the ppp fragmentation command) and IP fragmentation of L2TP packets (with the ip mtu command) on the same interface. Instead, you must choose only one of the fragmentation configurations by setting it to the necessary value and set the other fragmentation configuration to the maximum allowable value.
Guidelines for MLPPP Reassembly
Use the following guidelines when you configure MLPPP reassembly on a link interface:
- Configure the same reassembly settingenabled or disabledfor all member links in a bundle.
- Make sure a link's administrative MRRU is greater than or equal to the local maximum receive unit (MRU) negotiated both on that link and on other member links in the bundle.
- The local MRRU negotiated on a link must be the same as the local MRRU negotiated on the other member links in the bundle.
- The peer MRRU negotiated on a link must be the same as the peer MRRU negotiated on the other member links in the bundle.
- When reassembly is enabled, member links belonging to the same bundle can have different local MRU values.
- When reassembly is disabled, member links belonging to the same bundle must negotiate the same local MRU value.
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:
- For static MLPPP configurations, the router permits the failed link to join the bundle, but forces the link into a down state.
- For dynamic MLPPP configurations, the router prohibits the failed link from joining the bundle, and subsequently tears down the link.
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:
- 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- Specify MLPPP as the encapsulation method on the link interface.
host1(config-if)#encapsulation mlppp- Enable fragmentation on the link interface, and optionally specify the maximum allowable fragment size to use.
host1(config-if)#ppp fragmentation 128- Enable reassembly on the link interface, and optionally specify the administrative MRRU value to use.
host1(config-if)#ppp reassembly 1590- Exit Interface Configuration mode.
host1(config-if)#exit- 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/2host1(config-if)#encapsulation mlppphost1(config-if)#ppp fragmentation 128host1(config-if)#ppp reassembly 1590host1(config-if)#exit- Define the MLPPP bundle.
host1(config)#interface mlppp group1- Add each member link to the bundle.
host1(config-if)#member-interface serial 4/0:1/1/1/1/1host1(config-if)#member-interface serial 4/0:1/1/1/1/2- Assign an IP address to the MLPPP bundle.
host1(config-if)#ip address 10.10.100.1 255.255.255.0Static 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/0host1(config-if)#interface atm 2/0.2host1(config-subif)#atm pvc 42 0 42 aal5snaphost1(config-subif)#encapsulation mlppphost1(config-subif)#ppp fragmentationhost1(config-subif)#ppp reassembly 1400host1(config-subif)#ppp authentication pap chaphost1(config-subif)#exithost1(config)#interface atm 2/0.3host1(config-subif)#atm pvc 43 0 43 aal5snaphost1(config-subif)#encapsulation mlppphost1(config-subif)#ppp fragmentationhost1(config-subif)#ppp reassembly 1600host1(config-subif)#ppp authentication pap chaphost1(config-subif)#exithost1(config)#interface mlppp client1host1(config-if)#member-interface atm 2/0.2host1(config-if)#member-interface atm 2/0.3host1(config-if)#ip address 10.10.200.1 255.255.255.0Configuring 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.
- Chapter 15, Configuring Dynamic Interfaces
- JUNOSe Broadband Access Configuration Guide, Chapter 12, Configuring an L2TP LAC
- JUNOSe Broadband Access Configuration Guide, Chapter 13, Configuring an L2TP LNS
To define a profile that configures MLPPP fragmentation and reassembly for a dynamic MLPPP interface:
- From Global Configuration mode, create a profile by assigning it a name, and access Profile Configuration mode.
host1(config)#profile dynmlppp1host1(config-profile)#- Enable the creation of dynamic MLPPP interfaces.
host1(config-profile)#ppp multilink enable- Enable fragmentation on the link interface, and optionally specify the maximum allowable fragment size to use.
host1(config-profile)#ppp fragmentation 128- Enable reassembly on the link interface, and optionally specify the administrative MRRU value to use.
host1(config-profile)#ppp reassembly 1800- (Optional) Specify a virtual router to which dynamic IP interfaces created with this profile will be assigned.
host1(config-profile)#ip virtual-router boston- (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- (Optional) Set other PPP characteristics as needed by using the ppp commands described in Chapter 8, 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 dynmlppp2host1(config-profile)#ppp multilink enablehost1(config-profile)#ppp fragmentation 128host1(config-profile)#ppp reassembly 1800host1(config-profile)#ip virtual-router westfordhost1(config-profile)#ip unnumbered loopback 1host1(config-profile)#pppoe sessions 9host1(config-profile)#ppp authentication chaphost1(config-profile)#exithost1(config)#interface atm 4/0host1(config-if)#interface atm 4/0.1host1(config-subif)#atm pvc 52 0 52 aal5autoconfig 0 0 0host1(config-subif)#profile pppoe dynmlppp2host1(config-subif)#auto-configure pppoeDynamic 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.1host1(config)#interface loopback 0host1(config-if)#ip address 193.1.1.1 255.255.255.0host1(config-if)#interface gigabitEthernet 1/1host1(config-if)#ip unnumbered loopback 0host1(config-if)#exithost1(config)#ip route 193.1.1.2 255.255.255.255 gigabitEthernet 1/1host1(config)#profile l2tp-profilehost1(config-profile)#ip virtual-router defaulthost1(config-profile)#ip unnumbered loopback 0host1(config-profile)#ip access-routeshost1(config-profile)#ppp authentication paphost1(config-profile)#ppp keepalivehost1(config-profile)#ppp multilink enablehost1(config-profile)#ppp mru 1590host1(config-profile)#ppp reassembly 1590host1(config-profile)#ppp fragmentation 128host1(config-profile)#pppoe session 8000host1(config-profile)#exithost1(config)#l2tp destination profile lac ip address 193.1.1.2host1(config-l2tp-dest-profile)#remote host xxx.comhost1(config-l2tp-dest-profile-host)#enable proxy authenticatehost1(config-l2tp-dest-profile-host)#tunnel password welcomehost1(config-l2tp-dest-profile-host)#profile l2tp-profileencapsulation mlppp
- Use to configure MLPPP as the encapsulation method on an individual interface.
- Use this command only within the context of an individual interface. Issuing this command creates an MLPPP link interface, which can be configured as a member of an MLPPP bundle.
- Example
host1(config)#interface serial 2/0:1/1host1(config-if)#encapsulation mlpppUse the no version to disable MLPPP on an interface. interface mlppp
host1(config-if)#interface mlppp group2Use the no version to delete the MLPPP bundle. To delete an MLPPP bundle you must first delete the IP interface, then delete the bundle members (link interfaces), and finally delete the MLPPP bundle itself. member-interface
host1(config-if)#member-interface serial 2/0:1/1Use the no version to remove the specified interface from the MLPPP bundle. ppp fragmentation
- Use to enable fragmentation on an MLPPP link interface.
- If fragmentation is enabled on the link, you can optionally specify the maximum fragment size to be used on that link, in the range 12865535 octets.
- A link's maximum fragment size cannot exceed the MTU size on that link.
- We recommend that all member links in an MLPPP bundle be assigned the same fragment size.
- Do not configure both MLPPP fragmentation and IP fragmentation of L2TP packets (with the ip mtu command) on the same interface. Instead, you must choose only one of the fragmentation configurations by setting it to the necessary value and set the other fragmentation configuration to the maximum allowable value.
- Example
host1(config-if)#ppp fragmentation 128Use the no version to disable fragmentation on the link and restore the default fragment size, which is the link's MTU. ppp multilink enable
host1(config-profile)#ppp multilink enableUse the no version to reject any incoming requests to create dynamic MLPPP interfaces. ppp reassembly
- Use to enable reassembly on an MLPPP link interface.
- If reassembly is enabled on the link, you can optionally specify the administrative MRRU for the link, in the range 6465535 octets. The administrative MRRU is the maximum allowable size of the PPP packet payload that the router can receive.
- A link's MRRU must be greater than or equal to the local MRU on that link.
- We recommend that all member links in an MLPPP bundle be assigned the same reassembly setting: enabled or disabled.
- Example
host1(config-if)#ppp reassembly 1590Use the no version to disable reassembly on the link and restore the default value, which is the local MRU on the link. profile
- Use to create a profile for a dynamic interface.
- You specify a profile name of up to 80 characters.
- Example
host1(config)#profile dynmlppp1Use the no version to remove a 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 group1host1(config-if)#ppp fragmentation 128host1(config-if)#ppp reassembly 1590host1(config-if)#exithost1(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.