Previous Issue | Search NetBITS | Next Issue
You bought the fastest modem available - why is it still so slow? One word: latency. In this issue, Stuart Cheshire explains why the little-discussed factor of latency makes such a big difference in the perceived speed of the Internet. We also talk more about Adobe Acrobat, investigate how to get multiple email addresses without using AOL, take a quick look at Webrings, and offer a JavaScript solution for thwarting email address grabbing Web robots.
Contents:
Copyright 1998 TidBITS Electronic Publishing. All rights reserved. To subscribe to our weekly list, email < netbits-on@netbits.net >. Thanks to our sponsors for their financial support of NetBITS.
Free Netscape -- In a move aimed at stemming the gains Microsoft Internet Explorer has made in the Web browser market, Netscape Communications announced today that it is making Netscape Navigator and Netscape Communicator Standard Edition free (Netscape Communicator Professional Edition costs $29). In a related announcement, Netscape launched an "Unlimited Distribution " program that allows computer makers, ISPs, content providers, publishers, and others to download and redistribute Netscape Navigator and Communicator for free. Finally, Netscape said it would make the source code to the next version of Netscape Communicator available for free on the Internet for modification and redistribution. These are bold moves but may be necessary for a company that industry juggernaut Microsoft has targeted as direct competition. [ACE]
< http://www.netscape.com/communicator/free_faq.html
>
< http://www.netscape.com/newsref/pr/newsrelease560.html
>
< http://www.netscape.com/newsref/pr/newsrelease558.html
>
And Who's Paying for This? The other big news this week was the confirmed, but not yet announced plan from Compaq, Intel, and Microsoft, along with GTE and four of the five regional telephone companies (all except Bell Atlantic, which may yet join) to develop technology that would provide Internet access for consumers at throughputs up to 1.5 Mbps, much greater than today's 56 Kbps modems. The new modems, which the group hopes to have in PCs by next Christmas, would rely on DSL (digital subscriber line) technology, would use a single, normal pair of copper wires - just like a regular phone line - and would provide dedicated Internet connections, thus eliminating the annoying wait that today's modems suffer when dialing and connecting. Some reports indicate that the service would be asymmetric (which is the A in the ADSL variant of DSL), running 1.5 Mbps towards your computer, and considerably less from you to the Internet (the exact numbers haven't been reported and may vary depending on local conditions). This would prevent you from running much, if anything, in the way of Internet servers.
The wee problem with this proposal is that bandwidth is not free, despite what many people think. Your ISP must purchase enough upstream bandwidth from another source to serve all their customers, who mostly connect at around 28.8 Kbps. If, suddenly, everyone could connect at T1 throughputs of 1.5 Mbps, your ISP would need to purchase a vast amount more bandwidth to provide everyone with decent throughput. Of course, the costs would be passed on to customers; currently, you can buy T1 access from your ISP for between $500 and $2,000 per month. Given that the average cost of a dialup account in the U.S. is about $20 (with a 128 Kbps ISDN account costing between $50 and $300, depending on how long it's connected each day), are you interested in paying 25 to 100 times more for T1 throughput?
All that comes before you pay the phone company for the line to carry your data between your computer and the ISP. Here in Seattle, a residential telephone line costs about $20 per month, with an ISDN line coming in at a flat rate of about $80 and a 56K frame relay line at about $90. It's hard to believe that the phone companies would price 1.5 Mbps DSL connections lower than ISDN or frame relay, so assume a minimum of another $100 per month.
One of the concerns we've had is that the phone companies will bypass some of the above issues by offering themselves up not only as a conduit for data between you and your ISP, but also as the only ISP option for DSL Internet connections. Larger ISPs and network providers like PSI, MCI, and UUNET can probably still compete by dumping Internet traffic directly into their own incredibly high-throughput fiber-optic networks, but smaller ISPs may simply be priced out of the market.
In short, without more details on how much the service will cost, we currently doubt many people will be seeing a DSL modem in their stocking next Christmas. [ACE]
Long File Names -- In the last few issues, we've been talking about long file names in Windows 95, and how these names are truncated to an alternate 11-character (8-dot-3) version in many cases, including when transferring files to a floppy and then reading them on a Macintosh.
David Kilzer < ddkilzer@earthlink.net > wrote in to alert us that Apple is now offering better support for long file names on floppy disks and other media via PC Exchange 2.2, part of the just-released Mac OS 8.1, a free update to Mac OS 8.0. [GF]
< http://www.apple.com/macos/8.1/feat.html >
by Stuart Cheshire < cheshire@cs.stanford.edu >
[This article originally ran in TidBITS-367 and TidBITS-368 . We feel that the points it makes are important enough to present again, in an updated form, to NetBITS readers.]
< http://db.tidbits.com/getbits.acgi?tbart=00729
>
< http://db.tidbits.com/getbits.acgi?tbart=00723
>
Years ago David Cheriton at Stanford University taught me something that seemed obvious at the time - if you have a network link with low bandwidth then it's easy to put several in parallel to make a combined link with higher bandwidth, but if you have a network link with bad latency then no amount of money can turn any number of parallel links into a combined link with good latency. Many years have passed, and these facts seem lost on most of the companies making networking hardware and software for the home. I think the time has come to explain it.
Speed and Capacity -- Even smart people have trouble grasping the implications of latency on throughput. Part of the problem is the misleading use of the word "faster. " Would you say a Boeing 747 is three times faster than a Boeing 737? Of course not. They both cruise at around 500 miles per hour. The difference is that the 747 carries 500 passengers where as the 737 only carries 150. The Boeing 747 is three times bigger than the Boeing 737, not faster.
If you were in a hurry to get to London, you'd take the Concorde, which cruises around 1,350 miles per hour. It seats only 100 passengers though, so it's the smallest of the three. Size and speed are not the same thing.
On the other hand, if you had to transport 1,500 people and you only had one airplane to do it, the 747 could do it in three trips while the 737 would take ten. So, you might say the Boeing 747 can transport large numbers of people three times faster than a Boeing 737, but you would never say that a Boeing 747 is three times faster than a Boeing 737.
That's one problem with communications devices today. Manufacturers say speed when they mean capacity . The other problem is that as far as end-users are concerned, the main thing they want to do is transfer large files more quickly. It may seem to make sense that a high-capacity, slow link would be the best thing for the job. What end users don't see is that in order to manage that file transfer, their computers are sending dozens of little control messages back and forth. Computer communication differs from television or radio broadcasting in the interactivity of the communication, and interactivity depends on back-and-forth messages.
The phrase "high-capacity, slow link " above probably looks odd to you. It looks odd even to me. We've been used to wrong thinking for so long that correct thinking looks odd now. How can a high-capacity link be a slow link? High-capacity means fast, right? It's odd how that's not true in other areas. If someone talks about a high-capacity oil tanker, do you immediately assume it's a fast ship? If someone talks about a large-capacity truck, do you immediately assume it's faster than a small sports car?
We must start making this distinction again in communications. When someone tells us that a modem has a speed of 28.8 Kbps we have to remember that 28.8 Kbps is its capacity, not its speed. Speed is a measure of distance divided by time, and "bits " is not a measure of distance.
But there's more to perceived throughput than issues of speed and capacity, namely latency. Many people know that when you buy a hard disk you should check its seek time. The maximum transfer rate is something you might also be concerned with, but seek time is more important. Why does no one think to ask about a modem's seek time? Latency in a communications device is the same thing as seek time: the minimum time between asking for a piece of data and getting it, just like the seek time of a disk, and it's just as important.
Monkey on Your Back -- Once you have bad latency you're stuck with it. If you want to transfer a large file over your modem it might take several minutes. The less data you send, the less time it takes, but there's a limit. No matter how small the amount of data, for any particular network device there's always a minimum time that you can never beat. That's called the latency of the device. For a typical Ethernet connection the latency is usually about 0.3 ms (milliseconds, or thousandths of a second). For a typical modem link, ping and traceroute tests show the latency is typically about 100 ms, about 300 times worse than Ethernet.
If you wanted to send 10 characters (at eight bits per character) over your 33 Kbps modem you might think it would take:
80 bits / 33,000 bits per second = 2.4 ms
Unfortunately, it doesn't. It takes 102.4 ms because of the 100 ms latency introduced by the modem.
If you want to send a large amount of data, say 100K, then that takes 25 seconds, and the 100 ms latency isn't very noticeable, but for smaller amounts of data, say 100 bytes, the latency overwhelms the transmission time.
Why would you care about this? Why do small pieces of data matter? For most end-users it's the time it takes to transfer big files that annoys them, not small files, so they don't even think about latency when buying products. In fact, if you look at the boxes modems come in, they proudly proclaim "28.8 Kbps, " "33.6 Kbps, " and "56 Kbps ", but they don't mention latency at all.
What most people don't realize is that computers must exchange hundreds of little control messages in the process of transferring big files, so the performance of small data packets directly affects the performance of everything else.
Now, imagine you live in a world where the only network connection you can get to your house is a modem running over a telephone line. Your modem has a latency of 100 ms, but you're doing something that needs lower latency. Maybe you're trying to do audio over the network. 100 ms may not sound like much, but it's enough to cause a noticeable delay and echo in voice communications, which makes conversation difficult. Maybe you're playing an interactive game over the network. The game only sends tiny amounts of data, but that 100 ms delay makes the interactivity of the game decidedly sluggish.
What can you do about this? Absolutely nothing . You could compress the data, but that won't help: the data was already small, and that 100 ms latency is still there. You could install 80 phone lines in parallel and simultaneously send a single bit over each phone line, but that 100 ms latency is still there.
In other words, once you have a device with bad latency there's nothing you can do except replace the device with one that has good latency.
Modem Latency -- Current consumer devices have appallingly bad latency. A typical Ethernet card has a latency less than 1 ms. The Internet backbone as a whole also has very good latency. Here's a real example:
- The distance from Stanford in California to MIT in Boston is 4,320 km.
- The speed of light in vacuum is 300 * 10^6 m/s.
- The speed of light in fibre is 60 percent of the speed of light in vacuum.
- The speed of light in fibre is 300 * 10^6 m/s * 0.6 = 180 * 10^6 m/s.
- The one-way delay to MIT is 4,320 km / 180 * 10^6 m/s = 24 ms.
- The round-trip time to MIT and back is 48 ms.
- The current ping time from Stanford to MIT over today's Internet is about 85 ms:
- 84.5 ms / 48 ms = 1.76
- The hardware of the Internet is currently 1.76 times slower than the speed of light.
So the Internet is doing pretty well. It may get better with time, but we know it can never beat the speed of light. In other words, that 85 ms round-trip time to MIT might reduce a bit, but it's never going to beat 48 ms. The speed can improve slightly, but it isn't going to double. We're already within a factor of two of the theoretical optimum. I think that's pretty good - not many technologies can make that claim.
Compare this with a modem. Suppose you're 18 km from your Internet service provider. At the speed of light in fibre (or the speed of electricity in copper, which is about the same) the latency should be:
18,000 m / (180 * 10^6 m/s) = 0.1 ms
Although modems vary, the latency over your modem is anywhere from 75 ms to about 130 ms. Modems are currently operating at a level that's more than 1,000 times worse than the speed of light. And, of course, latency cuts both ways. If a one-way trip using a typical modem has a latency of about 130 ms, then the round-trip delay is about 260 ms.
Of course no modem link will ever have a latency of 0.1 ms. I'm not expecting that. The important issue is the total end-to-end transmission delay for a packet - the time from the moment the transmitting software sends the packet to the moment the last bit of the packet is delivered to the software at the receiving end. The total end-to-end transmission delay is made up of fixed latency (including the speed-of-light propagation delay), plus the transmission time. For a 36 byte packet, the transmission time is 10 ms (the time it takes to send 288 bits at a rate of 28.8 Kbps). When the actual transmission time is only 10 ms, working to make the latency 0.1 ms would be silly. All that's needed is that the latency should be relatively small compared to the transmission time. About 5 ms would be a sensible latency target for a modem that has a transmission rate of 28.8 Kbps.
Understanding Transmission Delay -- At each hop, overall transmission time has two components: per-byte transmission time and fixed overhead. Per-byte transmission time is easy to calculate, since it depends only on the raw transmission rate. The fixed overhead comes from sources like software overhead, hardware overhead, and speed of light delay.
For modems, the distance is typically short, so speed of light delay should be negligible. However, the data rate is low, so it takes a long time to send each byte. The per-byte transmission time should account for most of the time taken to send the packet. To send 100 bytes over a 28.8 Kbps modem should take:
100 bytes * 8 bits per byte / 28,800 bits per second = 28 ms
That means the round-trip should be twice that, or 56 ms. In reality it's often more like 260 ms. What's going on? Two other factors contribute to the overall time.
First, modems are often connected via serial ports. Many modem users assume that if they connect their 28.8 Kbps modem to their serial port at 38.4 Kbps they won't limit their performance, because 38.4 is greater than 28.8. It's true that the serial port won't limit throughput, but it will add delay, and delay, once added, never goes away. So, sending 100 bytes down the serial port to the modem should take:
100 bytes * 10 bits per byte / 38,400 bps = 26 ms
Second, modems try to group data into blocks. The modem will wait for about 50 ms to see if more data is coming that it could add to the block, before it starts to send the data it already has. Let's see what the total time is now:
26 ms (100 bytes down serial port to modem)
50 ms (modem's fixed waiting time)
28 ms (transmission time over telephone line at 28.8 Kbps)
26 ms (100 bytes up serial port at receiving end)
Thus, the total time is 130 ms each way, or 260 ms for the round-trip. To make things worse, imagine that the 100 bytes in question are used by an interactive game being played by two players. If both players are connected to their respective Internet service providers by modem, then the minimum total player-to-player round-trip delay is 520 ms, which is hopeless for any tightly coupled interactivity, and this is reflected in the state of today's networked computer games. Can we do anything to improve this?
Improving Latency -- One thing to notice is that the 38.4 Kbps serial connection between the computer and the modem, which many people don't think of as being the bottleneck, turns out to be responsible for 52 ms of the delay. In fact, it's the single biggest contributor - almost twice as much as the actual communication over the telephone line. What can we do about this? If you can connect the modems at both ends at 115.2 Kbps instead of 38.4 Kbps, the serial port delay can be reduced to 9 ms at each end. Better still, if you can use an internal modem on a card instead of one connected through a serial port, the delay can be eliminated entirely, leaving a round-trip delay of only 156 ms.
Having eliminated the serial port delay, the next biggest contributor to delay is the fixed 50 ms overhead built into the modem itself. Why is there a fixed 50 ms overhead? The reason is that modern modems offer lots of "features " - namely, compression and automatic error correction. To get effective compression and error correction, modems must work on blocks of data, which means characters are corralled in a buffer until the modem has received a block big enough to work on efficiently. While the characters accumulate in the modem's buffer, they're not being sent over the phone line. Imagine you're sending a small amount of data, 100 bytes. That's not enough for the modem to work on effectively, so it would like a bigger block. After you have sent the 100 bytes to the modem, it waits to see if more characters arrive. After some time - about 50 ms - it decides no more characters are coming, so it compresses and ships what it has. That 50 ms the modem spends hoping for more data is unrecoverable, wasted time.
Modems were originally designed with remote terminal access in mind. They were meant to take characters - typed by a user on one end and transmitted by a mainframe on the other - and group them into little blocks to send. The only indication that a user had finished typing (or that the mainframe had finished responding) was a pause in the data stream. No one told the modem when no more characters would be coming for a while, so it had to guess.
This is no longer the case. Most people use modems to connect to the Internet, not old mainframes, and Internet traffic is made up of discrete packets, not a continuous stream of characters.
There's a simple fix for this problem. We could make modems aware that they are sending Internet packets. When a modem sees the PPP (Point to Point Protocol) End-Of-Packet character (0x7E), it could realize that the packet is complete and immediately begin compressing and sending the block of data it has, without pausing for 50 ms. This simple fix would eliminate the 50 ms fixed overhead and should allow us to achieve a 56 ms round-trip delay over a modem PPP connection - almost five times better than what typical modems achieve today.
[Tune in next week as Stuart explains how bandwidth and latency interact, and how software can try to cope with the latency problem.]
Question: How can I get multiple email addresses? Paul Travis < travispkeh@aol.com > writes: "I was about to change online services when my daughter discovered that she could have her own screen name and email box within our account at AOL. She didn't like to use the family name. Most of the ISPs I have looked at seem to offer only a single email address. Is there any way to work two names into one account, or do you know of a service (in the San Francisco area) that offers two addresses within their usual fee structure? "
Answer: You've found one of AOL's best features, Paul. Since its inception, America Online has allowed every account to have up to five screen names, each with its own separate mailbox. Although some people have reasons for not giving children their own mailboxes, AOL's goal was to let everyone in a family to have separate email accounts.
There's no good way for people to share an email address if there's any desire for privacy, as it sounds like there might be for your daughter. You could ask everyone to put a specific phrase in the Subject line or use a different real name with the same email address and then filter those messages to a different mailbox, but that's clumsy and prone to error.
For the most part, ISPs provide only a single email address with a dialup account. I was unable to find a list of ISPs that specified whether or not they offered multiple email accounts, so short of searching manually through all the ISPs in the San Francisco area in something like The List, I can't suggest any specific ISPs.
< http://thelist.internet.com/ >
However, there are several options. First, you could set up an account for your daughter with a service like Pobox, which provides a username@pobox.com account that you can then forward anywhere. In this case, you'd forward it to your email account, then set up a filter to transfer all email to that address to a different mailbox for your daughter. And, if she's nearing college-age, you can just forward Pobox mail to her once she has a college account. Although I see pobox.com addresses most frequently, there are many other forwarding services; check out Yahoo for a list of them.
< http://www.pobox.com/ >
< http://www.yahoo.com/Business_and_Economy/Companies/Internet_Services/Email_Prov
iders/Forwarding_Services/ >
Second, consider signing up with one of the free Web-based email services, such as Yahoo Mail, MailCity, or Eudora Web-Mail. They all provide access to email via a Web interface, and although the interface is nowhere near as good as a dedicated email program, it should work fine for limited use. Again, there are many of these services, so check out Yahoo for a more complete list. [ACE]
< http://mail.yahoo.com/ >
< http://www.mailcity.com/ >
< http://www.eudoramail.com/ >
< http://www.yahoo.com/Business_and_Economy/Companies/Internet_Services/Email_Prov
iders/Free_Email/ >
Question: What's a Webring? Dave Sacher < sacherd@csn.net > asks, "I keep seeing references to 'Webrings' - what are they? "
Answer: Webrings are actually the common name for a fascinating new form of fungus (Conocybe packetea; see a picture of the closely related Conocybe lactea at the URL below) that springs up, seemingly overnight, on related Web pages.
< http://www.dnai.com/~mwood/mykoweb/species/Conocybe_lactea.html >
Seriously, Webrings are a way for groups of Web sites with related content to link to one another in a circle, or ring, simplifying navigation and providing some locational context within the abstractness of the Web. Thus, you can move back and forth between related sites within a Webring by clicking the next and previous Webring buttons. A large number of Webrings have appeared, with topics ranging from the ABC Daytime Soap Opera Webring to the Vietnam Veterans on the Net Webring. For a list, check out Yahoo and the main Webring Web site. [ACE]
< http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Searching_th
e_Web/Indices_to_Web_Documents/Rings/ >
< http://www.webring.org/ >
[Please send any questions regarding how to find yourself on the Internet to us at < faqtoids@netbits.net >, and include your full name and email address. Questions may be edited for content and length. We cannot guarantee publication or a reply.]
JavaScript Yourself Anonymous -- In response to letters on hiding your email address on a Web page to avoid spammers sucking it down, Joseph McLean < flux@thecentre.com > wrote us with a nifty JavaScript-based solution, which he offers for free:
Brandon Munday mentioned how he removed all "clickable " mailto links from his Web site to thwart the evil address-collecting spiders. Making a site non-clickable is so counter to the Web's nature that I became convinced there had to be another way. And there is - if you turn to JavaScript for aid.
JavaScript is not ubiquitous technology, but this can also work in your favor, because spiders don't speak that language - and most of your human visitors have browsers that do. Here's an example I cooked up in five minutes.
<script language=javascript >
<!--
// SpamProof Mail Script 1.0 by Joseph McLean < flux@thecentre.com > - freeware
// Linktext is the text you want folks to see and click upon.
// email1 & email2 are the text on either side of your email address's @ sign.
var linktext = "Email Me! ";
var email1 = "jsmith ";
var email2 = "where-ever.com ";
document.write( " <a href= " + "mail " + "to: " + email1 + "@ " + email2 + " > " + linktext + " </a > ")
//-- >
</script >
This chunk of code can be pasted into your Web page's HTML at any point. Some old browsers don't support JavaScript, but they won't hit an error - the mail link will simply be invisible (as it is to spiders).
Acrobatics -- Davide Guarisco < guarisco@stanford.edu > offered some addenda to Mike Lee's article on Acrobat in NetBITS-014 :
< http://db.netbits.net/getbits.acgi?nbart=04637 >
First, with the newest Macintosh LaserWriter software from Apple (8.5.1) it's even easier to create PDF documents. PDF is now an option in the standard printing dialog box. It works fine, provided that you have Adobe's Acrobat Distiller installed on your hard disk.
< http://devworld.apple.com/ngs/lpp/adrpub/docs/dev/technotes/tn/tn1112.html
>
< http://www.adobe.com/prodindex/acrobat/main.html
>
Second, the Acrobat plug-in also works with Apple's now-defunct (but still functional) Cyberdog (although I am not sure about the "optimized " feature).
[Please send letters to the editor to us at < letters@netbits.net >. Please include your full name and email address. Letters may be edited for content, grammar, and length. All letters become the property of TidBITS Electronic Publishing. We cannot guarantee publication or a reply.]
Non-profit, non-commercial publications and Web sites may reprint or link to articles if full credit is given. Others please contact us. We do not guarantee accuracy of articles. Caveat lector. Publication, product, and company names may be registered trademarks of their companies. NetBITS ISSN 1096-4908.