IP Mobility: Mobile Networks Configuration Guide, Cisco IOS Release 15M&T
IP Multiplexing
Downloads: This chapterpdf (PDF - 1.39MB) The complete bookPDF (PDF - 4.47MB) | The complete bookePub (ePub - 826.0KB) | Feedback

IP Multiplexing

Contents

IP Multiplexing

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.

Finding Feature Information

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.

Information About IP Multiplexing

About IP Multiplexing

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:

permit udp any host destination-IP-address UDP-port-number

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.

How to Configure IP Multiplexing

Configuring an IP Multiplexing Profile

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.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    Enter one of the following commands:

    • ip mux profile profile-name
    • ipv6 mux profile profile-name

    4.    access-list {standard-access-list-number | extended-access-list-number | name}

    5.    source {ip-addr | ipv6-addr | interface type}

    6.    destination {ip-addr | ipv6-addr}

    7.    holdtime milliseconds

    8.    maxlength bytes

    9.    mtu bytes

    10.    ttl hops

    11.    no singlepacket

    12.    no shutdown

    13.    end

    14.    Enter one of the following commands:

    • show ip mux profile [profile-name]
    • show ipv6 mux profile [profile-name]


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Device> enable
    
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.
     
    Step 2configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3Enter one of the following commands:
    • ip mux profile profile-name
    • ipv6 mux profile profile-name


    Example:
    Device(config)# ip mux profile routeRTP-SJ
     

    Creates an IP multiplexing profile with the specified name and enters IP multiplexing profile configuration mode.

     
    Step 4access-list {standard-access-list-number | extended-access-list-number | name}


    Example:
    Device(config-ipmux-profile)# access-list routeRTP-SJ
     

    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 5source {ip-addr | ipv6-addr | interface type}


    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.

     
    Step 6destination {ip-addr | ipv6-addr}


    Example:
    Device(config-ipmux-profile)# destination 198.51.100.1
     

    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 7holdtime milliseconds


    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 8maxlength bytes


    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 9mtu bytes


    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 10ttl hops


    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 11no 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 12no 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 13end


    Example:
    Device(config-ipmux-profile)# end
     

    Returns to privileged EXEC mode.

     
    Step 14Enter 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 ActionPurpose
      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 4Enter 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 5end


      Example:
      Device(config-if)# end 
       

      Returns to privileged EXEC mode.

       
      Step 6show interface


      Example:
      Device# show interface 
       

      Verifies that the interface is administratively up and whether the interface has an IPv4 or IPv6 address configured.

       
      Step 7show {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 udpport port-number
        • ipv6 mux udpport port-number


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 enable


        Example:
        Device> enable
         

        Enables privileged EXEC mode.

        • Enter your password if prompted.
         
        Step 2configure terminal


        Example:
        Device# configure terminal
         

        Enters global configuration mode.

         
        Step 3Enter one of the following commands:
        • ip mux udpport port-number
        • ipv6 mux udpport port-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 cache size

          4.    end

          5.    show {ip | ipv6} mux cache


        DETAILED STEPS
           Command or ActionPurpose
          Step 1enable


          Example:
          Device> enable
           

          Enables privileged EXEC mode.

          • Enter your password if prompted.
           
          Step 2configure terminal


          Example:
          Device# configure terminal
           

          Enters global configuration mode.

           
          Step 3ip mux cache size


          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 4end


          Example:
          Device(config)# end
           

          Returns to privileged EXEC mode.

           
          Step 5show {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 policy policy-name
            • ipv6 mux policy policy-name

            4.    outdscp DSCP-value

            5.    matchdscp DSCP-value

            6.    exit


          DETAILED STEPS
             Command or ActionPurpose
            Step 1 enable


            Example:
            Device> enable
             

            Enables privileged EXEC mode.

            • Enter your password if prompted.
             
            Step 2configure terminal


            Example:
            Device# configure terminal
             

            Enters global configuration mode.

             
            Step 3Enter one of the following commands:
            • ip mux policy policy-name
            • ipv6 mux policy policy-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 4outdscp DSCP-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 5matchdscp DSCP-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 6exit


            Example:
            Device(config-ipmux-policy)# exit 
             

            Exits IP (or IPv6) multiplexing policy configuration mode.

             

            Configuration Examples for IP Multiplexing

            Example: Configuring an IP Multiplexing Profile

            The following example shows an IPv4 multiplexing profile configuration:

            ip mux profile r1a 
              destination 10.1.1.1
              source 10.1.1.2
              access-list 199
              ttl 10
              holdtime 30
              mtu 1428
              maxlength 1400

            Example: Configuring IP Multiplexing on an Interface

            The following example show an IPv4 multiplexing configuration on an interface:

            interface Ethernet 0/0
             ip mux

            Examples: Configuring the UDP Port for Superframe Traffic

            The following example shows a UDP port configuration for superframe traffic for IPv4:

            ip mux udpport 12345

            The following example shows a UDP port configuration for superframe traffic for IPv6:

            ipv6 mux udpport 12345

            Examples: Configuring the IP Multiplexing Lookup Cache Size

            The following example shows an IPv4 multiplexing lookup cache size configuration:

            ip mux cache 2000000

            The following example shows an IPv6 multiplexing lookup cache size configuration:

            ipv6 mux cache 2000000

            Examples: Configuring the IP Multiplexing Policy With a DSCP Value for Outbound Superframes

            The following example shows an IPv4 multiplexing policy:

            ip mux policy dscp4
              matchdscp 4
              outdscp 4 

            The following example shows the IPv6 multiplexing policy:

            ipv6 mux policy dscp4
              matchdscp 4
              outdscp 4 

            Additional References

            Related Documents

            Related Topic

            Document Title

            Cisco IOS commands

            Cisco IOS Master Commands List, All Releases

            IP mobility commands

            IP Mobility Command Reference

            Technical Assistance

            Description

            Link

            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.

            http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

            Feature Information for IP Multiplexing

            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.