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.
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.
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.
The AMT protocol defines seven message types for control and encapsulation. The message exchanges happen in this particular order (as discussed here):
Relay Discovery - Gateway sends an AMT discovery message to an anycast address that represents the AMT relay.
Relay Advertisement – Relay responds with an advertisement message, which includes the relay’s unique IP address.
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.
Membership Query – Relay responds with an AMT query that includes the nonce from the AMT request and an opaque security code.
Membership Update- Gateway responds with a membership update that includes an encapsulated IGMPv3/MLDv2 packet.
Teardown - Gateway sends a message to stop the delivery of multicast data messages requested in an earlier membership update message.
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:
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.
This tasks outlines the procedure for enabling AMT.
3.Use one of these commands:
Command or Action
Enters global configuration mode.
RP/0/RP0/CPU0:router(config) # router amt
Enters the AMT configuration mode.
Use one of these commands:
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.
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.