# End-to-End Fragmentation and Reassembly

The fragmentation and reassembly feature reduces excessive delays of Frame Relay packets by breaking them up into smaller fragments and interleaving them with real-time frames. By doing this, real-time and non-real-time data frames can be carried together on lower-speed links without causing excessive delays to the real-time traffic. On receiving the smaller fragments by the peer interface, the fragments are reassembled into their original packet. For example, short delay-sensitive packets, such as packetized voice, can race ahead of larger delay-insensitive packets, such as common data packets.

E Series routers support end-to-end fragmentation according to the FRF.12 Implementation Agreement standard. Unlike UNI and NNI fragmentation, end-to-end supports fragmentation only at the endpoints. End-to-end fragmentation and reassembly are supported only on non-multilink Frame Relay interfaces on cOC12/STM4 and CT3 12 FO modules.

You configure end-to-end fragmentation at the Frame Relay subinterface level. Fragmentation is applied to all PVCs associated with the subinterface. In most cases, fragmentation and reassembly are used together. Fragmentation and reassembly, however, can be configured separately for each map class.

For additional information, see Frame Relay Forum—Frame Relay Fragmentation Implementation Agreement, FRF.12 (December 1997).

## Frame Fragmentation

When you enable fragmentation, you can specify a maximum payload size of the resulting fragments. If the maximum payload size is not specified, the default value of 52 bytes is used. When enabled, fragmentation begins when the portion of the packet that has not been transmitted in previous fragments exceeds the configured maximum payload size. The fragmentation process continues until the entire packet has been transmitted. Frames that do not exceed the configured maximum payload size are not fragmented.

If you disable fragmentation, all packets transmitted by the Frame Relay subinterface are transmitted intact.

## Frame Reassembly

When reassembly is disabled and a data frame is received, a few scenarios may occur:

- If the frame is not a fragment, it is forwarded normally.
- If the frame is a fragment and the upper interface is IP (that is, the interface above the Frame Relay subinterface), then the fragment is immediately discarded.

If you enable reassembly, then received fragments undergo the reassembly process. Packets that are not fragments are forwarded as normal.

## Map Class

Within Frame Relay, a map class acts as a container or context for fragmentation and reassembly parameters. Within the map class context, you can explicitly enable fragmentation and reassembly.

After you define a map class, you can apply it to an unlimited number of subinterfaces. This allows you to change fragmentation and reassembly parameters one time and have the changes immediately reflected in all subinterfaces configured to use that map class.

## Configuring End-to-End Fragmentation

You configure end-to-end fragmentation and reassembly on a subinterface in much the same way you configure a standard Frame Relay interface. In this example, end-to-end fragmentation and reassembly is configured on a single subinterface with a 100-byte fragment size (maximum payload size). All tasks are mandatory unless otherwise noted.

| Note: The procedure described in this section assumes that a physical interface has been configured. See Before You Configure Frame Relay.

To configure end-to-end fragmentation and reassembly:

1. Create a map class that you can apply to subinterfaces.
   host1(config)#map-class frame-relay testmap
2. Specify fragmentation and reassembly for the map class. Optionally, you can specify the maximum payload size of a fragment.
   host1(config-map-class)#frame-relay fragment 100
3. Enter the physical interface on which you want to configure Frame Relay end-to-end fragmentation and reassembly.
   host1(config-map-class)#interface serial 5/0:4/1
4. Select Frame Relay as the encapsulation method for the interface.
   host1(config-if)#encapsulation frame-relay ietf
5. Create a subinterface.
   host1(config-if)#interface serial 5/0:4/1.1
6. Add a circuit to a subinterface.
   host1(config-subif)#frame-relay interface-dlci 16 ietf
7. Assign a local IP address to the circuit.
   host1((config-subif)#ip address 42.42.42.41 255.255.255.0
8. Associate a map class with a subinterface.
   host1(config-subif)#frame-relay class testmap

encapsulation frame-relay ietf

- Use to specify Frame Relay as the encapsulation method for the interface.
- The router uses IETF format (RFC 2427 encapsulation).
- Example
  host1(config-if)#encapsulation frame-relay ietf
- Use the no version to remove Frame Relay configuration from an interface.
- See encapsulation frame-relay ietf.

frame-relay class

- Use to associate a map class with a subinterface.
- Example
  host1(config-subif)#frame-relay class testmap
- Use the no version to remove the association between the subinterface and the specified map class from the subinterface.
- See frame-relay class.

frame-relay fragment

- Use to configure fragmentation and reassembly for the map class.
- Specify the keyword fragmentation-only to specify only fragmentation, so that reassembly is not performed.
- Specify the keyword reassembly-only to specify only reassembly, so that fragmentation is not performed.
- Specify the maximum payload size of a fragment by using a value from 16–8188 bytes. If a value is not specified, the default value of 52 bytes is used.
- Make sure the value for the maximum payload size of a fragment is less than or equal to the MTU size, otherwise fragmentation never occurs.
- Make sure the maximum payload size is larger than any voice packet so that voice frames are not fragmented.
- Examples
  host1(config-map-class)#frame-relay fragment 100 host1(config-map-class)#frame-relay fragment fragmentation-only
- Use the no version to stop fragmentation and reassembly on the subinterface.
- See frame-relay fragment.

frame-relay interface-dlci ietf

- Use to configure a Frame Relay PVC over a subinterface.
- The ietf keyword is mandatory and indicates RFC 2427 encapsulation.
- Define a DLCI in the range 16–1007.
- To configure a Frame Relay PVC, you must specify a DLCI.
- Frame Relay service is offered in the form of PVCs. A PVC is a data-link connection that is predefined on both ends of the connection. A network operator assigns the endpoints of the circuit. Although the actual path taken through the network may vary from time to time, the beginning and end of the circuit do not change. This type of circuit behaves like a dedicated point-to-point circuit.
- PVCs are identified by DLCIs. A DLCI is a 10-bit channel number that is attached to data frames to tell a Frame Relay network how to route the data. Frame Relay is statistically multiplexed, which means that only one frame can be transmitted at a time, but many logical connections can coexist on a single physical line. The DLCI allows the data to be logically tied to one of the connections, so that when the data gets to the network, the network knows where to send it.
- DLCIs on the same physical line must match. However, DLCIs have local significance; that is, if the DLCIs are not on the same physical line, the end devices at two different ends of a connection may use a different DLCI to refer to the same connection.
- The router does not support SVCs. An SVC is an any-to-any connection that can be established or removed as needed. With SVCs, you initiate calls using Frame Relay by requesting a destination address and assigning a DLCI, which is established for the duration of the call.
- Example
  host1(config-subif)#frame-relay interface-dlci 16 ietf
- Use the no version to remove DLCI/PVC assignment.
- See frame-relay interface-dlci ietf.

interface serial

- Use to configure a serial interface in the appropriate format by selecting a previously configured physical interface on which you want to configure Frame Relay. For example, for a channelized T3 interface use slot/port:channel/subchannel.
- Use to configure a Frame Relay subinterface in the appropriate format by selecting a previously configured physical interface. For example, for a T3-Frame interface use slot/port.subinterface; for a channelized T1/channelized E1 interface use slot/port.channel-group.subinterface.

  | Note: See Before You Configure Frame Relay for more information about configuring the underlying physical interfaces.

  - slot—Router chassis slot
  - port—CT3, T3, or E3 module I/O port
  - channel—T1 (DS1) channel
  - subchannel—Set of DS0 timeslots; for information, see Fractional T1 in JunosE Physical Layer Configuration Guide
  - subinterface—User-assigned nonnegative number that identifies a Frame Relay subinterface
- Example
  host1(config-if)#interface serial 5/0:4/1.1
- Use the no version to remove the subinterface or the serial interface.
- See interface serial.

ip address

- Use to assign an IP address and subnet mask to a subinterface.
- Example
  host1((config-subif)#ip address 42.42.42.41 255.255.255.0
- Use the no version to remove an IP address or to disable IP processing.
- See ip address.

map-class frame-relay

- Use to create a map class.
- Example
  host1(config)#map-class frame-relay testmap
- Use the no version to remove a map class.
- See map-class frame-relay.