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. commit

DETAILED STEPS

  Command or Action Purpose
Step 1

configure

Step 2

router amt

Example:

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

Enters the AMT configuration mode.

Step 3

commit

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 Multicast Command Reference for Cisco CRS Routers.

.

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. commit

DETAILED STEPS

  Command or Action Purpose
Step 1

configure

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

commit

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
		!