Cisco IOS XR Multicast Configuration Guide for the Cisco CRS Router, Release 4.3.x
Implementing Automatic Multicast Routing:
Downloads: This chapterpdf (PDF - 1.27MB) The complete bookPDF (PDF - 3.78MB) | Feedback

Implementing Automatic Multicast Routing:

Implementing Automatic Multicast Routing:

This module describes how to implement Automatic Multicast Routing (AMT).

Feature History for Implementing AMT:

Release

Modification

Release 4.3.1

This feature was introduced.

Automatic Multicast Tunneling

Automatic Multicast Tunneling (AMT) provides a method to tunnel multicast data over a unicast network . The tunneling is performed between AMT Relays and AMT Gateways, using UDP (User Datagram Protocol) encapsulation. This enables service providers and their customers to participate in delivering multicast traffic even in the absence of end-to-end multicast connectivity.

Advantages of AMT

The advantages of AMT are:

  • Simplicity: Instead of incurring the overhead of manually provisioning, establishing and maintaining GRE tunnels between two locations, the receiving network simply sends AMT advertisements to a well-known any-cast prefix. The rest of the tunnel establishment process is done automatically without the need for additional configuration.
  • Resiliency: Because the relay discovery uses an any-cast address, gateways automatically find the closest relay. If that relay becomes unavailable or unreachable, the routing table reconverges on the next closest relay.
  • Efficiency: AMT allows transit routers to perform flow-based load balancing for more efficient link utilization.

Prerequisites for configuring AMT

The required prerequisites are:

  • Ensure that the Cisco CRS Router has the CRS-3 line card installed.
  • Ensure that you have a Package Installation Envelope (PIE) installed and activated, for running the multicast routing software. For detailed information about optional PIE installation, see Cisco IOS XR Getting Started Guide for the Cisco CRS Router. For running AMT, an mcast PIE must be installed.
  • Ensure that you are in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
  • Ensure that you know how to apply the generalized interface name with the generalized notation rack/slot/module/port.

Restrictions for AMT

These are the restrictions and limitations for AMT:

  • Support only for CRS-3 linecards (CRS-MSC-140G and CRS-FP140).
  • Support for a maximum of 64000 tunnels.
  • Relay scale highly dependent on the bandwidth of the edge-facing interfaces and the rate of the multicast stream.
  • Support only for certain features; namely - MTU, QoS, TTL.
  • No support for ACLs; filtering capability is achieved by accepting or dropping specific gateway addresses.
  • No support for IPv6 tunnels.

Implementing AMT

The Multicast source sends traffic to the firsthop. Multicast traffic flows through the network until it reaches the lasthop (receivers) or AMT Relays. AMT relays are typically routers with native IP multicast connectivity that aggregate a potentially large number of AMT tunnels.

Figure 1. Implementing Automatic Multicast Tunneling



In the above diagram, Relay1 and Relay2 are two AMT Relays, which encapsulate the traffic into AMT tunnels, and send one copy to each of the AMT Gateways.

AMT Message Exchanges

The AMT protocol defines seven message types for control and encapsulation. The message exchanges happen in this particular order (as discussed here):

  1. Relay Discovery - Gateway sends an AMT discovery message to an anycast address that represents the AMT relay.
  2. Relay Advertisement – Relay responds with an advertisement message, which includes the relay’s unique IP address.
  3. Relay Request - Gateway sends an AMT Request message to the relay using the unique IP address as the destination, along with a nonce to be used for security.
  4. Membership Query – Relay responds with an AMT query that includes the nonce from the AMT request and an opaque security code.
  5. Membership Update- Gateway responds with a membership update that includes an encapsulated IGMPv3/MLDv2 packet.
  6. Teardown - Gateway sends a message to stop the delivery of multicast data messages requested in an earlier membership update message.
  7. After validation the Relay establishes the AMT Tunnel and starts sending multicast traffic [Type 6]. Any further (S,G) uses the same Request/Query/Update - three-way handshake because the tunnel is already established.

The AMT Protocol Stack

The elements of the AMT protocol stack are:

Payload
AMT Header
UDP Header
IP Header

AMT Tunnel and Traffic Types

The multicast traffic carried in the AMT tunnel may be IPv4 or IPv6. The AMT tunnel may be setup with IPv4 or IPv6 endpoints. This provides us four possibilities.

  • v4-in-v4: IPv4 multicast traffic carried over an IPv4 tunnel
  • v6-in-v4: IPv6 multicast traffic carried over an IPv4 tunnel
  • v6-in-v6: IPv6 multicast traffic carried over an IPv6 tunnel
  • v4-in-v6: IPv4 multicast traffic carried over an IPv6 tunnel

Currently, support is available only for the first two options; namely, IPv4-in-IPv4 and IPv6-in-IPv4.

Out of Resource mode

An important aspect of AMT tunnels is the Out of Resource mode (OOR).

You can monitor a relay based on the number of gateways, the total number of gateways across all routes, or on the number of routes per gateway.

If any of these limits are hit, the relay goes into the OOR mode. During this time, the relay withdraws the anycast prefix. The default method to come out of the OOR mode, is the automatic method, where the relay comes back to normal after reaching 80% of the maximum value.

Enabling AMT

This tasks outlines the procedure for enabling AMT.

SUMMARY STEPS

    1.    configure

    2.    router amt

    3.    Use one of these commands:

    • end
    • commit


DETAILED STEPS
      Command or Action Purpose
    Step 1 configure


    Example:
    RP/0/RP0/CPU0:router# configure
     

    Enters global configuration mode.

     
    Step 2 router amt


    Example:
    RP/0/RP0/CPU0:router(config) # router amt
     

    Enters the AMT configuration mode.

     
    Step 3 Use one of these commands:
    • end
    • commit


    Example:
    RP/0/RP0/CPU0:router(config)# end

    or

    RP/0/RP0/CPU0:router(config)# commit
     

    Saves configuration changes.

    • When you issue the end command, the system prompts you to commit changes:
      Uncommitted changes found, commit them
      before exiting(yes/no/cancel)? [cancel]:
      
      • Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.
      • Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.
      • Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.
    • Use the commit command to save the configuration changes to the running configuration file, and remain within the configuration session.
     

    Configuring AMT

    This procedure describes the steps involved in configuring various AMT parameters.

    The AMT commands used in this configuration procedure, are discussed in detail in the Cisco IOS XR Multicast Command Reference for the Cisco CRS Router.

    .
    SUMMARY STEPS

      1.    configure

      2.    router amt

      3.    relay ipv4

      4.    Use one of these commands:

      • advertisement-address relay-address
      • gateway gateway-address
      • gateway-filter acl-name
      • maximum-gateway value
      • maximum route value
      • mtu mtu-value
      • ttl ttl-value
      • tos tos-value
      • qqic qqic-value

      5.    exit

      6.    Use one of these commands:

      • end
      • commit


    DETAILED STEPS
        Command or Action Purpose
      Step 1 configure


      Example:
      RP/0/RP0/CPU0:router# configure
       

      Enters global configuration mode.

       
      Step 2 router amt


      Example:
      RP/0/RP0/CPU0:router(config) # router amt
       

      Enters the AMT configuration mode.

       
      Step 3 relay ipv4


      Example:
      RP/0/RP0/CPU0:router(config-amt-relay-v4) # relay ipv4
       

      Enters the AMT relay IPv4 tunnel submode.

       
      Step 4 Use one of these commands:
      • advertisement-address relay-address
      • gateway gateway-address
      • gateway-filter acl-name
      • maximum-gateway value
      • maximum route value
      • mtu mtu-value
      • ttl ttl-value
      • tos tos-value
      • qqic qqic-value


      Example:
      RP/0/RP0/CPU0:router(config-amt-relay-v4) # maximum gateway 100
       

      Configures the limit for the selected AMT parameter.

      Note   

      This step can be repeated to configure all the required parameters.

       
      Step 5 exit


      Example:
      RP/0/RP0/CPU0:router(config-amt-relay-v4) # exit
       

      Exits from the current mode.

       
      Step 6 Use one of these commands:
      • end
      • commit


      Example:
      RP/0/RP0/CPU0:router(config)# end

      or

      RP/0/RP0/CPU0:router(config)# commit
       

      Saves configuration changes.

      • When you issue the end command, the system prompts you to commit changes:
        Uncommitted changes found, commit them
        before exiting(yes/no/cancel)? [cancel]:
        
        • Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.
        • Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.
        • Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.
      • Use the commit command to save the configuration changes to the running configuration file, and remain within the configuration session.
       

      Configuration Examples for Implementing AMT

      This sections provides configuration examples:

      Enabling AMT: Example

      This example shows how to enable AMT on the router.

      config
      			router amt
      			end
      !

      AMT Maximum Gateway Configuration: Example

      This example shows how to set the maximum gateway value at 100 for the AMT tunnels:

      config
      		router amt
      			relay ipv4
      				maximum gateway 100
          end
         !

      AMT MTU Configuration: Example

      This example shows how to set the MTU value (Maximum Transmission Units) for an AMT relay:

      config
      	router amt
      		relay ipv4
      			mtu 500
         end
      		 !

      AMT TOS Configuration: Example

      This example shows how to set the TOS value (Type of Service) for an AMT relay:

      config
      	router amt
      		relay ipv4
      			tos 100
         end
      		!