Like many of you, I have a home office and consider daily Internet visits essential to download software and pick up email. When I face downloading the latest service pack for Windows NT or Exchange, I agonize over how long the process takes with a modem connection that tops out at 31.2Kbps. To reduce the download time, using my three phone lines, I decided to test pooling modems with the Multilink Point-to-Point Protocol (MPPP), which Remote Access Service (RAS) supports.
Before I started the test, I researched MPPP on the Internet and at Microsoft's Web site. A search for the string MPPP returned only a few links, which surprised me. After digging around, I found that MPPP is more commonly referred to as Multilink Protocol (MP); Microsoft is one of the few vendors that uses the term MPPP. When I finally got the search string right, my research turned up Request for Comments (RFC) 1990, which contains the specifications for MP.
The Multilink Protocol
According to the RFC, the goal of a multilink operation is to coordinate multiple independent links between a fixed pair of systems. This coordination provides a virtual link with greater bandwidth than any of the constituents. The aggregate link, or bundle, can consist of different physical links, as in multiple asynchronous modem lines, but can also be instances of multiplexed links, such as ISDN, X.25, or frame relay. The aggregate link can also be of different kinds, such as pairing dial-up asynchronous links with leased synchronous links.
To establish communications over a Point-to-Point Protocol (PPP) link, each end of the PPP link (RAS client and RAS server) sends Link Control Protocol (LCP) packets to configure the data link. A system signals its peer that it is willing to multilink by sending the multilink option as part of the initial LCP negotiation.
After the systems establish the link, PPP provides an authentication phase in which authentication protocols define an identifier for each system that the link connects. The identifiers ensure that only links between the two original systems are bundled. The RFC also specifies that you can see compression separately on each member link, or run over the bundle, as a logical group link. You can read RFC 1990 at http://sunsite.auc.dk/RFC/rfc/rfc1990.html.
Configuring RAS Multilink Connections
After reading the RFC, I thought that two 28.8Kbps modems should connect at 56Kbps, so I decided to try it. The process to set up a multilink connection is fairly straightforward. You need to perform the following steps. First, install modems on the RAS server and client, reboot each system, and verify that each system recognizes the modems. Second, make sure you configure the modems on the RAS server to receive calls; otherwise, the multilink option is not available. Third, enable the multilink protocol on the RAS server and the RAS client.
To enable multilink on the RAS server, go to Control Panel and double-click the Network icon or right-click Network Neighborhood and select Properties. Select the Services tab, and double-click Remote Access Service. Examine the configuration of each modem to make sure it is set to answer calls. Next, click Network and select the Enable Multilink check box, as shown in Screen 1, page 104. If you have not configured a RAS server before, see Michael D. Reilly, "Remote Access Service," May 1997. Remember that the server settings show up only when you configure RAS ports to receive calls.
On the client side, configuring a multilink dial-out connection is easy. Go to My Computer, and double-click Dial-Up Networking. Here, either create a new entry or edit an existing one. In the Dial using box, select Multiple Lines, and configure each modem with the correct phone number to dial, as shown in Screen 2, page 104. Be aware that the Multiple Lines option is available only when you have more than one modem installed on the client. Highlight the first modem and click Phone numbers to specify one or multiple numbers for that modem to dial. Next, click Configure to enable or disable the modem parameters, hardware flow control, modem error control, modem compression, and the speaker. I used the defaults for all options. Repeat this process for the second modem.
At this point, you are ready to test the dial-up connection. Select the entry you just configured for multilink and start dialing. When prompted, enter the correct username, password, and destination domain. The first time I used my connection, I was surprised to hear both modems dial almost simultaneously.
When the RAS server answers the call, a notification box appears, informing you that the second line is being bundled with the first. When both lines are connected, the aggregate connection speed appears--it's really cool to see 55.2Kbps in place of 28.8Kbps. As I cruise the Internet, the transmit and receive lights blink almost synchronously on both modems. The connection really looks like one line, because the multilink protocol fragments and reconstructs the packets traveling on this connection as a unit.
You can view this multilink connection in the Dial-Up Networking Monitor. Select each line to see its connection speed. In the Summary view, the monitor displays the connection with the name you defined for the dial-up entry. When you expand the icon, the monitor displays each line individually.
Next, I wanted to test throughput on the 55.2Kbps connection. At the Microsoft FTP site, I used the native FTP command and a third-party GUI to download a text file of just less than 500KB. With the native FTP command, my throughput rate from Microsoft was 10.21Kbps. With the third-party GUI utility, throughput was 10.18Kbps. Then, I downloaded a 1.2MB binary file from Microsoft with the native FTP command--the download took 204 seconds with a transfer rate of 6.24Kbps, which is closely matched by the third-party FTP utility. Last, I downloaded a 700KB binary file that took 119 seconds and reported an overall throughput of 5.92Kbps.
Download speed is difficult to evaluate fairly because so many factors are unrelated to either modem speed or the speed of the system you are downloading from. The biggest variable is the time of day. During my test, the highest transfer rate was 10.21Kbps and the slowest was 4.38Kbps. During off-hours on a single PPP connection, I got a maximum download speed from my Internet Service Provider (ISP) of about 3.5Kbps; in my mind, a rate nearly double that speed easily justifies an MPPP connection. Even when the Net slows down, the bundled connection is nearly double the speed you get with a single line. MPPP certainly makes browsing the Internet a lot more comfortable.
An MPPP connection can increase your download speed by more than 100 percent on small files and up to 100 percent on files that are more than 1MB. The bad news is that very few ISPs support MPPP. Network vendors offer several MP routers, but ISPs are not installing them for public access.
Another piece of bad news is that you cannot use MP with the callback feature of a RAS client. The RAS server stores only one phone number for each user, so only one modem can return the call.
However, I think MP is a good solution for branch offices that need a faster connection to corporate, as long as you have two phone lines available and an NT server at the corporate data center. MP does not require special hardware, is cheaper than ISDN, and competes well with ISDN speeds, especially if the modems at both ends are of the 56Kbps variety.