Up to this point I’ve mainly talked about unicast routing, or routing IP traffic to a single destination address. In addition to supporting unicast routing, a Windows 2000 server can support multicast routing, broadcasting Internet Group Management Protocol (IGMP) traffic to multiple destinations. In this Daily Drill Down, I’ll show you how you configure multicast routing on your Windows 2000 server.
Configuring a multicast forwarder
The primary use for multicast routing is audio and video conferencing. Rather than send the same packet multiple times, once for each participating conference member, IGMP allows the packet to be broadcast once to all conference members. This considerably improves bandwidth utilization. Clients that are configured for multicasting listen for the IGMP traffic, while clients that are configured only for unicast addresses ignore it.
The RRAS service in Windows 2000 Server doesn’t provide full-fledged multicast routing, but instead can function as a multicast forwarder, forwarding multicast traffic to clients it services downstream. Because RRAS is extensible, however, it can support full multicast routing through the addition of third-party protocols.
A Windows 2000 RRAS server configured as a multicast forwarder listens for multicast traffic on all attached networks, forwarding that traffic to other routers or to clients on its local networks based on the multicast address of the traffic. The server also monitors IGMP Membership Report packets and updates its forwarding table to accommodate clients that request multicast forwarding.
The IGMP protocol included with Windows 2000 enables the server to function as a multicast forwarder in one of two modes: IGMP router mode or IGMP proxy mode. If an IGMP interface is configured for router mode, it sets the network interface in multicast promiscuous mode. This mode passes all multicast packets received on that interface to higher networking layers for processing. The interface also queries periodically for IGMP Membership Report messages to monitor multicast group memberships, and it updates its multicast forwarding tables based on those messages to maintain a current list of clients. The multicast routing data references networks where there is at least one client listening for multicast traffic, rather than individual multicast hosts.
The IGMP proxy mode enables a Windows 2000 multicast forwarder to route IGMP traffic to and from multicast clients and routers on the Internet, which is referred to as the multicast backbone or MBone. An interface operating in IGMP proxy mode listens for IGMP Membership Report packets and forwards those packets on to all other interfaces on the router running in IGMP router mode. In effect, IGMP proxy mode enables upstream routers to update their multicast routing tables to accommodate listening clients connected to the local interface that is functioning in IGMP proxy mode. An interface operating in IGMP proxy mode also provides multicast packet forwarding from upstream routers to local clients.
Setting up a multicast forwarder
Once you’ve enabled RRAS on a server, you can configure it to support multicast forwarding. To do so, open the RRAS console, expand the server, and open the IP Routing branch. Right-click General and choose New Routing Protocol. Select IGMP from the list of available routing protocols and click OK. IGMP will now appear in the IP Routing branch with the other installed protocols.
After you add the IGMP protocol, you need to add and configure at least one interface for IGMP. In the RRAS console, right-click IGMP, and choose New Interface. Select the interface on which you want to enable IGMP and click OK. The resulting property sheet lets you configure the interface. On the General page, use the Enable IGMP option to enable or disable IGMP on the selected interface. Choose the mode in which you want the interface to operate—either router or proxy mode—using the options in the Mode group. Then, if you selected router mode, choose from the IGMP Protocol Version drop-down list the protocol version you want to use based on the requirements and versions used by adjacent IGMP routers.
The Router property page provides several options that enable you to tune performance and other operational parameters. The following list provides an overview of the options.
- Robustness variable: Use this value to assign a relative robustness value to the subnet to which the interface is attached. Modifying the robustness variable changes both the Group Membership interval and the Other Queriers Present interval. The former specifies the length of time that must pass before the router determines that there are no more multicast clients on a subnet. The latter is the length of time that must pass before the router determines that there are no other multicast routers that should act as the querier. If multiple IGMP routers exist on a given network, the routers elect one as the querier, which performs all periodic membership queries.
- Query interval: This value specifies the interval at which IGMP General Query messages are broadcast on the selected interface if the router is functioning as the IGMP querier.
- Query Response interval: This value specifies the amount of time the router waits for responses to General query messages. This value must be lower than the Query interval.
- Last Member query interval: This value defines two parameters: the interval between successive Group-Specific query messages and the length of time the router will wait for responses to Group-Specific query messages.
- Startup query interval: The interval between General query messages is different during startup than it is when the router is normally up and functioning. This value specifies the interval between General query messages during startup and is (by default) 1/4 the interval defined by the Query Interval value.
- Startup query count: This value specifies the number of General Query messages transmitted by the router at startup.
- Last Member query count: This value specifies the number of Group-Specific query messages the router will transmit with no response before assuming that there are no more group members on the queried interface.
- Automatically recalculate defaults: Select this option to have RRAS automatically calculate the startup Query count, startup Query interval, and Last Member Query count based on the Robustness variable, Query interval, and Query Response interval. By default, the startup Query interval is 1/4 the Query interval, and both the startup Query count and last member Query count are equal to the Robustness variable.
- Group Membership interval: This read-only value indicates the time interval that must pass before the router determines that no more members of a given group remain on a subnet. RRAS calculates this value as (Robustness variable) * (Query interval) + (Query Response interval).
- Other Querier Present interval: This read-only value indicates the time interval that must pass before the router determines that no other routers should be the querier. RRAS calculates this value as (Robustness variable) * (Query interval) + (Query Response interval) / 2.
If you need additional information to help you understand and configure a multicast forwarder, check out the Microsoft Windows 2000 Resource Kit Online Documentation, which offers a good overview of multicast routing, IGMP protocols, troubleshooting, and more.
Supporting multilink and BAP
In the discussion of demand dial connections, you read a little bit about multilink support in Windows 2000. What multilink offers is the ability for remote access clients to use multiple connections to create an aggregate bandwidth roughly equal to the sum of bandwidth values offered by each individual connection. For example, you might use multilink to aggregate two 56-KB dial-up connections to provide a relative throughput of 112 KB. Or, you might aggregate both B-channels of an ISDN Basic Rate Interface (BRI) connection. In any case, the result is higher throughput than you would receive with a single connection.
BAP stands for Bandwidth Allocation Protocol. BAP enables multilink to be adaptive to bandwidth requirements. If bandwidth utilization drops below a certain point, BAP enables multilink connections to be dropped to reduce cost. BAP also allows multilink connections to be added as bandwidth utilization grows.
BACP stands for Bandwidth Allocation Control Protocol. BACP performs a single function. If both peers of a multilink/BAP connection send a request for adding or dropping a link at the same time, BACP elects one as a favored peer and responds to its request, rejecting the request for others. This prevents both connections from being dropped or more than one additional link from being created at a time.
A computer running Windows 2000 can use multilink and BAP to aggregate outgoing connections, subject to whether or not the called remote access server supports multilink and BAP. In addition, a Windows 2000 Server running RRAS and serving as a remote access server for incoming connections can support multilink and BAP to calling clients.
Configuring multilink and BAP/BACP at the server
Enabling and configuring multilink and BAP on a Windows 2000 RRAS server is relatively easy. Open the RRAS console, right-click the server, and choose Properties. Click the PPP tab. Select the Multilink Connections option to enable clients to request multilink connections when dialing in. Select the Dynamic Bandwidth Control Using BAP Or BACP option if you want to use BAP to dynamically manage multilink connections. Multilink and BAP are enabled by default when you configure the RRAS server for incoming remote access connections.
Next, make sure you configure the called station ID for each port. This will enable RRAS to send the number to a client that requests an additional link. If you use the same number for all ports, you’ll need to ensure that your incoming lines are supported by a hunt group set up by your Telco provider. In order to support using the same number for callback (the server dials the client back), the client must have a concentrator to distribute the calls to a single number to available ports on the client. Alternatively, the client must also be served by a Telco-configured hunt group. To configure the phone number for each port on the server, open the RRAS console, right-click the Ports branch, and choose Properties. Select one of the ports that will support multilink and click Configure. Specify the called station ID in the Phone Number For This Device field. Click OK and repeat the procedure for all other ports that will support multilink connections.
The next step in supporting multilink connections is to modify or add remote access policies as needed to support those clients that should have multilink access. In the RRAS console, open the Remote Access Policies Branch. If a remote access policy doesn’t already exist to support the remote clients, create one. Then, double-click the policy to open its property sheet. Click Edit Profile and then click the Multilink tab. The policy is configured by default to use the multilink properties of the server, which are defined in the PPP page of the server’s properties. If you want to limit the number of ports a client that fits the remote access policy can use, select Allow Multilink and specify the maximum number of ports with the associated control.
The BAP Settings group of controls on the Multilink property page determines server-side properties for the way the server will handle multilink connections. Select the Require BAP For Dynamic Multilink Requests option to require the client to use BAP to request additional links.
Configuring a Windows 2000 client for multilink and BAP
Configuring a client to use multilink is relatively easy. First, install all of the physical devices that will be used to dial out. Create the connection through the Network And Dial-Up Connections folder and test the connection with a single link to verify that it works properly and that you can connect. Then, open the properties for the connection. On the General page, select all of the devices to use for the connection through the Connect Using group. Select All Devices Call The Same Numbers if the remote access server provides a single number for dial-up to all ports, then specify the phone number and other calling properties in the fields provided. If each device calls a different number, deselect All Devices Call The Same Numbers, select a dial-out device, and then configure its settings. Select each other device in turn and configure its settings.
Next, click the Options tab. In the Multiple Devices group, select from the drop-down list the method you want to use to initiate the multilink connection. To use BAP, choose Dial Devices Only As Needed. Then, click Configure to set the parameters the client will use to determine when to request new links or drop existing links.
This Daily Drill Down concludes my series about the Windows 2000 RRAS. I’ve taken you from the basic concepts to configuring a full multilink router using your Windows 2000 Server and Windows 2000 Server’s RRAS capabilities.
The authors and editors have taken care in preparation of the content contained herein but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.