The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This module describes how to implement Automatic Multicast Routing (AMT).
Release |
Modification |
---|---|
Release 4.3.1 |
This feature was introduced. |
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.
The advantages of AMT are:
Efficiency: AMT allows transit routers to perform flow-based load balancing for more efficient link utilization.
The required prerequisites are:
Ensure that the Cisco CRS Router has the CRS-3 line card 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.
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.
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.
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:
Payload |
AMT Header |
UDP Header |
IP Header |
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.
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.
1.
configure
2.
router amt
3.
commit
Command or Action | Purpose |
---|
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.
.1.
configure
2.
router amt
3.
relay ipv4
4.
Use one of these commands:
5.
exit
6.
commit
This sections provides configuration examples:
This example shows how to enable AMT on the router.
config router amt end !
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 !
This example shows how to set the MTU value (Maximum Transmission Units) for an AMT relay:
config router amt relay ipv4 mtu 500 end !
This example shows how to set the TOS value (Type of Service) for an AMT relay:
config router amt relay ipv4 tos 100 end !