Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Cellular Networking with CDPD (Web Techniques, Nov 2001)


Cellular Networking with CDPD (Web Techniques, Nov 2001)

Cellular Networking with CDPD

By Brian Jepson

Supporting a mobile work force using dialup typically involves pricey toll-free numbers, substandard hotel telephone lines, and employees who are online only part of the day. If you're fed up, and looking for an alternative to traditional modem connectivity for your organization's road warriors, Cellular Digital Packet Data (CDPD) might be a welcome solution.

CDPD is a wireless protocol that rides on top of existing cellular networks. It's inexpensive, but very slow. Yet, if you learn how to work around its idiosyncrasies, you can save money and keep your employees online around the clock.

Serial CDPD modems let any device or computer that supports PPP over a serial connection use the protocol. Modems are also available as PCMCIA cards for laptops, and some manufacturers are even producing models in the CompactFlash form factor, for use with handheld devices. The value of CDPD for handhelds is limited, however, as their underpowered processors aren't well equipped for compression software like Venturi (more on this later).

Roaming the Country

One drawback of CDPD is that data users can only access idle portions of the cellular network—those channels of bandwidth that aren't being used for voice calls. Each modem includes a built-in PPP server, however, so the user appears to experience uninterrupted (albeit slow) service, even when the modem is waiting for a free channel.

In my own experience, I've seldom lost out to roving bands of cell phone users; somehow my CDPD modem always finds a channel to use. I've used it without a hitch in Boston, New York City, and the D.C. metro area (some of the most crowded places in the United States). In general, my connections have been stable, even in a moving vehicle. Once in a while, the signal drops and the modem software needs to re-establish the connection. Even so, in practice I've found the CDPD modem to be at least as reliable as dialup.

As with mobile phones, roaming fees for CDPD can be quite expensive, with rates as high as 8 cents per kilobyte transferred (about $80 per megabyte). Fortunately, most CDPD providers—such as Verizon, GoAmerica, and AT&T—offer generous local coverage areas under their flat-rate pricing structures. I live in Rhode Island, and I've used my CDPD modem from the Washington D.C. metro area on up to Boston without paying any roaming fees. (I've even used it on a train and in a car hurtling down Route 95.)

It's important, therefore, to make sure that your mobile employees know how far the local coverage extends. If far-ranging travelers send usage costs escalating out of control, you still have the option of configuring the CDPD software to disallow roaming entirely.

Slow Performance

A CDPD modem can offer up to 19.2Kbps throughput, even though real-world bandwidth is usually lower. The actual amount of data a modem can push depends on the signal strength in a given area (a value expressed in terms of the ratio of decibels to milliwatts, or dBm).

I've experienced great performance in Boston, New York, and some random spots in Rhode Island (in particular, the Coffee Bean cafe in Narragansett). I don't get a strong signal in my home office, however, owing to my location on the fringes of a CDPD network. Signal strength at my home is right on the borderline: anything lower than -100 dBm is bad, and I generally hover between -93 and -112 dBm. In other words, my CDPD modem is slow.

CDPD supports the full range of TCP/IP applications, including telnet, ssh, HTTP, FTP, and more; but because of its low bandwidth and high latency, it's better at some of these than others. I've tried using telnet with CDPD, and I don't recommend it. CDPD is best at protocols that can be handled in bursts, such as HTTP requests and responses. If your employees spend most of their time using Web pages or the company intranet, this should work out just fine.

One way to speed up Web surfing even further is to use link-compression software to reduce the size of downloads. Venturi is one such product, and is being supported by several wireless ISPs. Verizon, for one, sends a preconfigured copy of the Venturi client to all of its CDPD customers. (Go to Verizon's CDPD Networking home page at www.app.airtouch.com/mobile_ip/index.html.)

The Venturi client is a small program that runs on your laptop. It acts as a local proxy server; every time you visit a Web page, your browser first contacts the Venturi client. The client in turn contacts a Venturi server, which then downloads the page in question and compresses its text, HTML, and graphics before sending them over the slow CDPD link. Finally, the Venturi client decompresses the data and redirects it to your browser.

This scheme offers its greatest benefit when accessing particularly graphics-heavy sites. Venturi employs a highly lossy image compression algorithm to reduce images to a fraction of their size before transferring them to the remote device (for example, it reduced a 76.8KB JPEG image to 41.2KB). Some Web images may not look as attractive as they would on an uncompressed connection, but that's a small price to pay for improved performance. Venturi's text compression can also reduce the size of email and USENET news traffic.

The Venturi client takes up about 8MB of memory when idle on my system. I've used Venturi on both a low-end laptop (166 MHz Pentium, 80MB of memory) and a higher-end laptop (600MHz Pentium III, 256MB of memory). Even on the humbler machine, Venturi's presence doesn't seem to impact my overall system performance. Plus, it's Java-based, so it should run on any OS that supports a Java Virtual Machine (JVM).

Keeping Your Data Secure

CDPD uses strong encryption between the modem and its service provider, so you can feel reasonably confident that no one will be able to intercept your employees' signals and read confidential data. But once the traffic leaves your wireless ISP, it's on the public Internet, so it's just as insecure as dialup access—or a dedicated connection, for that matter.

This is where Secure Shell (ssh) or a Virtual Private Network (VPN) can be helpful. Either system encrypts every packet that passes between a remote machine and your organization's internal servers. No data is decrypted until it's securely inside your intranet. And, as you'll see in the next section, ssh also offers some performance benefits comparable to those of Venturi.

VPN software, such as that included with Windows 2000, transparently redirects all traffic through a virtual network device. For ssh tunneling, however, you must set up local ports on your laptop to act as a proxy for a remote service. For example, the argument -L81:corp_intranet:80, when passed to ssh.exe, forwards all traffic for local port 81 to a hypothetical server called corp_intranet, which we'll assume is on your organization's local network. You could then request pages from corp_intranet using the URL http://localhost:81/. This method works for other types of traffic as well, including POP and SMTP.

The topic of security leads to another point about the Venturi compression system mentioned earlier. The standard Venturi client won't be much use when accessing intranet pages through encrypted tunnels, as the Venturi compression servers are located on the public Internet, and won't have access to your VPN. However Fourelle, the maker of Venturi, also offers VPN solutions. If your mobile work force is large enough, it may be worth exploring a solution with Fourelle, because the performance gain with Venturi is considerable.

Performance Shootout

Just how considerable is this performance gain? I ran some tests using Perl's lwp-download utility. I wouldn't call these numbers benchmarks, because as I've mentioned before, coverage at my home is poor. So, while these numbers are good for gauging the relative differences between configurations, your mileage will vary depending on local signal strength.

Table 1 shows the performance of my CDPD modem with some different configurations and documents from three different Web servers. Each box shows three samples taken at different times.

Note that in addition to measuring Venturi compression, I've also measured ssh tunneling with the compression option enabled. This setting is worth investigating, for it gives performance gains comparable to Venturi over an encrypted connection. If you wanted to develop a quick and dirty alternative to Venturi, you could set up a proxy server on your intranet, and your users could tunnel into that proxy server using ssh with compression enabled.

Clearly, Venturi and compression enabled ssh are the winners here, so you should seriously consider deploying one or the other—perhaps both. Even if you're using Venturi for HTTP traffic, ssh can be helpful in other cases. For example, I use ssh to tunnel into an SMTP and POP server for sending and receiving email. This lets me set up a secure connection so I don't have to send my POP password in plaintext across the Internet. It also improves performance considerably once the link is established. I use Venturi for Web traffic, and ssh for just about everything else.

Hints For Content Creators

What can you do if you're developing Web pages, perhaps for an intranet site, that will be used by a large group of CDPD users? I suggest that you turn the clock back to the early days of the Web, when we all had 9600 bps or 14.4K modems. The rules mostly amount to common sense: Don't use a lot of images on your pages, and keep the images you use small. Also keep in mind that some CDPD users may opt to turn off images entirely.

Beware of fancy HTML generators. These can add a lot of markup that isn't all that useful, yet takes up a lot of bandwidth. I created an HTML document in Microsoft Word 2000 that simply contained the words "Hello, World," and was titled the same. When saved, this document ended up being 1608 bytes in size. I wrote a similar document using hand-coded HTML, and it came out to a mere 90 bytes!

Wireless Alternatives

While CDPD has its problems, at present it's difficult to find solid competitors in the wireless data market. One offering that for a time seemed promising was the Ricochet service, developed by Metricom. Ricochet was launched in the 1990s, and offered faster throughput than CDPD, with bandwidth as high as 128 Kbps. Unfortunately, at the time of this writing, Metricom, the creator of the Ricochet network, has filed for Chapter 11 bankruptcy protection, and it isn't clear whether the service will continue.

The 802.11b wireless networking protocol is another way your mobile work force can get online, albeit in an ad hoc fashion. Wireless 802.11b networks are popular at technical conferences, and are being used to form community networks (for one example, see nocat.net). You might also run across 802.11b being used in coffee shops, airports, and hotels—though it's certainly not as pervasive as cellular networks.

But don't forget the well-publicized problems with 802.11b's Wired Equivalent Privacy (WEP) security system. With the release of a toolkit called AirSnort, which can "sniff" WEP encryption keys, using 802.11b is like building your wiring closet out on the street: anyone can tap into the network and listen.

If your employees are going to access confidential resources using 802.11b, or transmit privileged passwords, they should always connect to your network using a VPN or an ssh tunneling connection. Even so, if an attacker were to compromise a user's laptop, he or she could gain access to VPN resources or an ssh tunnel. Because of this threat, your users should run strong firewalls on their laptops, and always keep the operating system current with the most recent security patches. (This is a good idea even on traditional networks.)

The Road Ahead

Where will cellular data networking go from here? In a world where even home users have grown accustomed to high speed broadband connectivity, it seems unlikely that CDPD has much of a future unless its throughput can be improved. So-called Third Generation (3G) cellular networks promise higher bandwidth, but deployment in the United States has been slow, in part due to the varying infrastructures used by our numerous wireless carriers. It remains to be seen whether we can realistically expect transfer speeds from cellular networks in this country to compare to what we're used to from traditional wired connections.

Still, though, I'm spoiled by multimegabit connectivity. I find even the current performance of CDPD acceptable. I don't mind its sluggishness when I'm surfing the Web. When I use the Venturi compression software, the 19.2Kbps CDPD link doesn't seem too much slower than 56 Kbps dialup.

And even if I have to wait awhile for pages to load, the payoff, of course, is the convenience. I'm still astounded that I can take my computer to the location of my choice (be it a coffee shop, a train, or the shoreline) and access the Internet. I'm sure that your organization's mobile workers will appreciate the convenience of this nearly omnipresent form of wireless networking—once they learn to cope with its limitations.


Brian is a writer for O'Reilly and Associates. You can follow his activities at www.jepstone.net or email him at [email protected].


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.