Multicast Static Routes

When an IP multicast packet is received on an interface of a Windows 2000 multicast-enabled router, the source and destination IP address of the IP multicast packet is compared to the entries in the IP multicast forwarding table. If an entry is found, the IP multicast packet is forwarded according to the found entry. If there are no downstream host group members, the packet is eventually discarded.

If an entry is not found, an entry must be created. An entry in the IP multicast forwarding table consists of the multicast group address, the source IP address, a list of interfaces to which the traffic is forwarded (next hop interfaces), and the single interface on which the traffic must be received in order to be forwarded (the previous hop interface). The multicast group and source IP addresses are obtained from the multicast packet. The next hop interfaces are determined by the registration of multicast group members using IGMP (and any multicast routing protocols, if present).

The previous hop interface is the interface that is closest—in terms of routing metrics—to the source of the IP traffic. To determine the previous hop interface, a multicast routing table is checked. Based on the entries in the multicast routing table, a single interface is chosen as the previous hop interface based on the best route back to the source of the IP multicast packet. The best route is the closest matching multicast route with the best metric.

The multicast routing table is logically separate from the unicast routing table. In the Routing and Remote Access service, the Route Table Manager (RTM) keeps a master list of routes. Each route is flagged as either a unicast route, a multicast route, or both. Therefore, the list of routes that you obtain depends on your view. The set of unicast routes in the RTM route table is called the unicast view. The set of multicast routes in the RTM route table is called the multicast view. The multicast view of the RTM routing table is used to determine the previous hop interface and the previous hop neighbor, which is needed for multicast diagnostic utilities, such as mtrace.

By default, all unicast routes obtained by the Routing Information Protocol (RIP) and the Open Shortest Path First (OSPF) routing protocols, and static routes manually configured with the Routing and Remote Access snap-in, are flagged as appearing in both views. If your unicast routers are also your multicast routers, no other modifications are necessary.

However, in some configurations, the unicast infrastructure and multicast infrastructure are different. For example, to balance the load between unicast and multicast traffic, a different set of routers is used. In these configurations, you might need to override the default behavior of adding all routes as both a unicast and multicast route by creating multicast static route using the netsh routing ip add rtmroute command.

An example is a Windows 2000 router with two interfaces; Interface 1 is connected to a unicast router, Interface 2 is connected to a multicast router. For simplicity, assume that a single static default route is used to forward all non-local unicast IP traffic to a downstream router using Interface 1. Because the static route was configured using the Routing and Remote Access snap-in, it is flagged as both a unicast and multicast route. Consider what happens when an IP multicast packet is received on Interface 2:

  • To create the IP multicast forwarding table entry, the previous hop interface must be determined. Based on the multicast view of the RTM route table, the previous hop interface is determined to be Interface 1, not Interface 2 (Interface 1 is closest to the multicast source in terms of routing metrics). Because the previous hop interface is the only interface on which IP multicast packets for the group and source IP address can be received, subsequent IP multicast packets received on Interface 2 for the group and source IP address are silently discarded.

To fix this multicast forwarding problem, use the netsh routing ip add rtmroute command to create a multicast static default route that uses Interface 2 and has a lower metric. This new route overrides the manually configured static default route.