You can use IP multiplexing to optimize IPv4 and IPv6 traffic in environments, such as a satellite network, where packet-per-second transmission limitations cause inefficient bandwidth utilization. IP multiplexing addresses this constraint by bundling smaller packets into one larger UDP packet, known as a superframe. The device then sends the superframe to the destination device, which demultiplexes the individual packets out of the superframe and routes them to their final destination.
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see
Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for IP Multiplexing
You must configure an access list before IP multiplexing can work. Create an access control list (ACL) list by using the
ip access-list or the
ipv6 access-list command. When you configure an ACL to use with IP multiplexing, filter only traffic based on the destination address, destination port, and protocol type. If you configure an ACL with other filter characteristics, unexpected or undesirable multiplexing decisions might occur.
You can use IP multiplexing to optimize IPv4 and IPv6 traffic in environments, such as a satellite network, where packet-per-second transmission limitations cause inefficient bandwidth utilization. IP multiplexing addresses this constraint by bundling smaller packets into one larger UDP packet, known as a superframe. The device then sends the superframe to the destination device, which demultiplexes the individual packets out of the superframe and routes them to their final destination.
Traffic Identification with Access Control Lists
IP multiplexing uses Cisco access control lists (ACLs) to identify outbound packets. IP multiplexing uses ACL definitions to identify traffic selected for multiplexing treatment. You can configure standard, extended, or named ACLs to define traffic you want to multiplex. Packets that are not identified by an ACL used for multiplexing are routed normally.
In general, an ACL statement for IP multiplexing should have this format:
IP multiplexing makes caching decisions based on destination IP address, destination port, and protocol type. Although ACLs can be defined to filter packets based on other attributes, using other attributes in an IP multiplexing ACL can have unexpected and unwanted results.
IP multiplexing maintains the cache of recent ACL lookup results to optimize traffic classification.
For information about configuring an ACL, see the
Security Configuration Guide: Access Control Lists publication.
Interface Types Supported with IP Multiplexing
These interface types support IP multiplexing:
Ethernet
Fast Ethernet
Gigabit Ethernet
IPv4 generic routing encapsulation (GRE) tunnel
IPv6 GRE tunnel
Ethernet, Fast Ethernet, and Gigabit Ethernet VLAN
Virtual multipoint interface (VMI) over Ethernet, Fast Ethernet, and Gigabit Ethernet
Virtual template on VMI
Both endpoints of the multiplex connection must be configured for multiplexing with corresponding source and destination addresses. If a superframe arrives at an interface with IP multiplexing not configured or not configured to receive superframes from the destination device, the superframe is not demultiplexed, and the superframe is routed normally. If IP multiplexing is not configured, then outbound packets are routed normally.
IP Multiplexing Profiles
The attributes associated with an IP multiplexing connection between two devices are configured in an IP multiplexing profile.
Note
You must configure an IP multiplexing profile for each endpoint of an IP multiplexing connection in the network.
You must define the following information for an IP multiplexing profile:
Profile name
ACL used to classify outbound IP packets as IP multiplexing traffic
Source and destination IP addresses to be included in the superframe header
Maximum amount of time the device waits to fill a superframe before sending a partial superframe
You can define the following optional information for an IP multiplexing profile:
Maximum size of an outbound IP packet to be considered for multiplexing
Maximum MTU size of a superframe
Time-to-live (TTL) value to be included in the superframe IP header
IP Multiplexing Policies
An IP multiplexing policy is used to retain differentiated services code point (DSCP) priorities of the underlying data traffic. If you configure an IP multiplexing policy, you can configure DSCP values for the superframe header and specify that only the packets with a specified DSCP value be placed into the superframe. Note that a policy can match more than one DSCP value.
A device can have up to three multiplex policies for IPv6 and three multiplex policies for IPv4 defined on it. Multiplexing policies are global and apply to all multiplexing profiles on a device.
If the DSCP value assigned to a packet does not match any multiplexing policy, the device uses the default multiplexing policy for superframe multiplexing. Superframes for the default policy have a DSCP value set to 0.
If you do not configure an IP multiplexing policy, all IP multiplexing packets are sent using the default IP multiplexing policy with a DSCP value equal to 0.
The DSCP values in each packet header remains intact as the packet goes through the multiplexing and demultiplexing processes.
You must configure an IP multiplexing profile for each endpoint of an IP multiplexing connection in the network.
When configuring IP multiplexing, you must configure each device before enabling the configuration. Failure to do so will result in lost packets at the end that is not yet configured.
Applies the specified access list to the profile and uses the statements in the access list to identify outbound traffic for multiplexing.
standard-access-list-number--The range is 1 to 199.
extended-access-list-number--The range is 1300 to 2699.
name--Access list name to use with the IP multiplexing profile.
Step 5
source {ip-addr |
ipv6-addr |
interfacetype}
Example:
Device(config-ipmux-profile)# source 192.0.2.1
Designates the source IP address for the profile.
The source address is the IP address assigned to the outbound interface.
If you created an IPv4 profile, use an IPv4 address. If you created an IPv6 profile, use an IPv6 address.
If you use the
interface keyword, IP multiplexing uses the IP address configured for that interface.
Beware if you are using the
interface keyword for an IPv6 interface with multiple IP addresses assigned to it. IP multiplexing might not use the IP address you want for multiplexing.
You must shut down the profile to change the source address.
Note
This source address must be configured as the destination address in the corresponding profile at the other end of the IP multiplexing connection.
Designates the IP address to which superframes will be sent from the particular profile.
The destination address must match the source address of the corresponding profile on the destination device.
If you created an IPv4 profile, use an IPv4 address. If you created an IPv6 profile, use an IPv6 address.
You must shut down the profile to change the destination address.
Note
This destination address must be configured as the source address in the corresponding profile at the other end of the IP multiplexing connection.
Step 7
holdtimemilliseconds
Example:
Device(config-ipmux-profile)# holdtime 150
(Optional) Configures the amount of time in milliseconds (ms) that a multiplexing profile waits to fill the superframe before sending a partial superframe.
The range is 20 to 250 ms.
If you do not set a hold time, the profile uses 20 ms as a default.
Step 8
maxlengthbytes
Example:
Device(config-ipmux-profile)# maxlength 128
(Optional) Configures the largest packet size that the multiplexing profile can hold for multiplexing.
A larger packet size will not be multiplexed even if it correctly matches the ACL attached to the profile.
The range is 64 to 1472 bytes.
If you do not configure a maximum packet length, any packet that fits into the superframe is multiplexed.
Step 9
mtubytes
Example:
Device(config-ipmux-profile)# mtu 1400
(Optional) Configures the maximum size, in bytes, for the outbound superframe.
The range is 256 to 1500.
If you do not configure a MTU values, the profile uses 1500 bytes as a default.
The superframe size specified in the
mtu command includes the IP and UDP headers for the superframe of 48 bytes for IPv6 and 28 bytes for IPv4 packets. Therefore an IPv6 MTU configured to 1400 bytes will accept 1352 bytes of data before sending a full superframe. An IPv4 MTU configured to 1400 bytes will accept 1372 bytes of data before sending a full superframe.
Step 10
ttlhops
Example:
Device(config-ipmux-profile)# ttl 128
(Optional) Configures the superframe time-to-live (TTL) for the IP header of the superframe.
The range is 1 to 255 hops.
By default, the TTL value is set to 64 hops.
Step 11
no singlepacket
Example:
Device(config-ipmux-profile)# no singlepacket
Configures the device to send the original packet unmodified if there is only one packet to multiplex when the hold timer expires.
By default, single packets are multiplexed into superframes when the hold timer expires.
Step 12
no shutdown
Example:
Device(config-ipmux-profile)# no shutdown
Activates the multiplexing profile.
If you want to change the ACL associated with the profile or the contents of the ACL, you must enter the
shutdown command for the profile, make the changes and then enter the
no shutdown command.
Step 13
end
Example:
Device(config-ipmux-profile)# end
Returns to privileged EXEC mode.
Step 14
Enter one of the following commands:
show ip mux profile [profile-name]
show ipv6 mux profile [profile-name]
Example:
Device# show ip mux profile routeRTP-SJ
Displays IP multiplexing statistics.
Configuring IP Multiplexing on an Interface
You must configure an interface for IP multiplexing. Once IP multiplexing is configured on an interface, all multiplex profiles are used to classify IP packets routed for transmission on the interface.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface type number
4.Enter one of the following commands:
ip mux
ipv6 mux
5.end
6.show interface
7.show {ip |
ipv6}
mux interface
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configure terminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
interface type number
Example:
Device(config)# interface fastethernet 0/1
Enters interface configuration mode for the specified interface.
Step 4
Enter one of the following commands:
ip mux
ipv6 mux
Example:
Device(config-if)# ipv6 mux
Enables IP multiplexing on the interface.
Use the
ip mux command for an IPv4 interface.
Use the
ipv6 mux command for an IPv6 interface.
Step 5
end
Example:
Device(config-if)# end
Returns to privileged EXEC mode.
Step 6
show interface
Example:
Device# show interface
Verifies that the interface is administratively up and whether the interface has an IPv4 or IPv6 address configured.
Step 7
show {ip |
ipv6}
mux interface
Example:
Device# show ipv6 mux interface
Displays IPv4 or IPv6 multiplexing statistics for the interface (depending on the command entered).
Configuring the UDP Port for Superframe Traffic
IP multiplexing addresses this constraint by bundling smaller packets into one larger UDP packet, known as a superframe. The device then sends the superframe to the destination device, which demultiplexes the individual packets out of the superframe and routes them to their final destination.
The receiving device identifies incoming superframes by destination IP address, protocol type (UDP), and a UDP port number. A single UDP port number is used for all IP multiplexing traffic in the network.
Note
If you do not configure a UDP port for IP multiplexing traffic, the system uses the default value of 6682. This value is inserted in the UDP header of the outbound superframe. If you use the default UDP port value, make sure that all devices sending or receiving IP multiplexing traffic use the same value.
This procedure is optional and can be used to optimize IP multiplexing.
SUMMARY STEPS
1. enable
2.configure terminal
3.Enter one of the following commands:
ip mux udpportport-number
ipv6 mux udpportport-number
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configure terminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
Enter one of the following commands:
ip mux udpportport-number
ipv6 mux udpportport-number
Example:
Device(config)# ip mux udpport 5000
Specifies a destination UDP port to use for multiplexed packets.
The range is 1024 to 49151.
Configuring the IP Multiplexing Lookup Cache Size
The lookup cache maps the destination address, protocol type, and port number to a multiplexing profile to reduce performance overhead related to ACL lookups. You can configure the maximum size of the cache to manage memory utilization on the device.
The size of the IPv6 cache is 1,000,000 to 4,294,967,295 bytes, which corresponds to 10,419 to 44,739,242 entries.
The size of the IPv4 cache is 1,000,000 to 4,294,967,295 bytes which corresponds to 11,363 to 49,367,440 entries.
Note
If you do not configure the cache size, the cache size defaults to 1,000,000 bytes, which will hold 11,363 entries for IPv4 multiplexing and 10,419 for IPv6 multiplexing.
This procedure is optional and can be used to optimize IP multiplexing.
SUMMARY STEPS
1.enable
2.configure terminal
3.ip mux cachesize
4.end
5.show {ip |
ipv6}
mux cache
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configure terminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
ip mux cachesize
Example:
Device(config)# ip mux cache 5000000
Configures the size of the IP multiplexing lookup cache.
The range is 1,000,000 to 4,294,967,295 bytes.
Step 4
end
Example:
Device(config)# end
Returns to privileged EXEC mode.
Step 5
show {ip |
ipv6}
mux cache
Example:
Device# show ip mux cache
Displays IPv4 or IPv6 multiplexing cache statistics (depending on the command entered).
Configuring the IP Multiplexing Policy with a DSCP Value for Outbound Superframes
Perform this task to create a multiplexing policy, specify the matching DSCP values for a superframe, and specify the outbound DSCP value for the header of the superframe.
If you do not configure a DSCP value for an outbound superframe, superframes are sent with a DSCP equal to 0.
If the DSCP value for packets selected for multiplexing does not match any of the
matchdscp command values in the multiplexing policy, these packets are sent using the default multiplexing policy that has a DSCP set to 0.
A packet found to match the
matchdscp command value is put in the superframe with the corresponding multiplexing policy.
This procedure is optional and can be used to optimize IP multiplexing.
SUMMARY STEPS
1. enable
2.configure terminal
3.Enter one of the following commands:
ip mux policypolicy-name
ipv6 mux policypolicy-name
4.outdscpDSCP-value
5.matchdscpDSCP-value
6.exit
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configure terminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
Enter one of the following commands:
ip mux policypolicy-name
ipv6 mux policypolicy-name
Example:
Device(config)# ip mux policy RouteRTP-SJ
Configures an IP policy with the specified name and enters either IP or IPv6 multiplexing policy configuration mode (depending on the command entered).
Step 4
outdscpDSCP-value
Example:
Device(config-ipmux-policy)# outdscp 10
Configures the DSCP value for the outbound superframe.
The range is 0 to 63.
For additional DSCP values that are valid, see the
IP Mobility Command Reference.
Step 5
matchdscpDSCP-value
Example:
Device(config-ipmux-policy)# matchdscp 45
Configures the DSCP value that IP multiplexing uses to compare against the DSCP value in packets bound for multiplexing.
A match puts the packet in the superframe that corresponds to the IP multiplex policy.
You can enter more than one value.
The range is 0 to 63.
For additional DSCP values that are valid, see the
IP Mobility Command Reference.
Step 6
exit
Example:
Device(config-ipmux-policy)# exit
Exits IP (or IPv6) multiplexing policy configuration mode.
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1
Feature Information for IP Multiplexing
Feature Name
Releases
Feature Information
IP Multiplexing
15.2(2)GC
15.2(4)M
IP multiplexing optimizes IPv4 and IPv6 traffic in environments, such as a satellite network, where packet-per-second transmission limitations cause inefficient bandwidth utilization.
The following commands were introduced or modified:
access-list,
destination,
holdtime,
ip mux,
ip mux cache,
ip mux policy,
ip mux profile,
ip mux udpport,
ipv6 mux, ipv6 mux policy,
ipv6 mux profile,
ipv6 mux udpport,
matchdscp,
maxlength,
mtu,
outdscp,
show mux,
show mux cache,
show mux interface, show mux profile,
shutdown,
singlepacket,
source,
ttl.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL:
www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.