Optimize Your Internet
Connection
By Serdar
Yegulalp
Tweaking your Internet connection is one of
those subjects that has become cluttered with misinformation, rumor, and
confusion. It's like souping up your car -- if done right, you can get
real benefit from it. However, there are more ways to do it wrong than
right, and doing it wrong can do more harm than good.
Why tweak? Many people, especially those
on broadband links, find their connections more than fast enough and don't
see a need to fix what isn't broken. Other people may find their broadband
connections are not performing anywhere nearly as well as they hoped, and
want to see what can be done about it. And there are still plenty of
people using dial-up-- they can never go as fast as their broadband
cousins, but they still want to know how to wring every drop of speed
possible out of their lines.
When dealing with the Internet, you are
more often than not at the mercy of other people, and playing with
settings on your end will often have either no effect or a detrimental
one. That said, there are things you can do to improve certain activities,
such as web browsing, and things you can do to reduce the amount of data
sent across the wire for certain activities.
In the course of this article, I'm going
to start by talking about how Internet speeds are measured, and clear up
some of the terminology used therein. I'll take the time to address one of
the major connection-tweaking myths, and explain why it's become grossly
overrated as a way of improving performance. From there I'll cover a slew
of programs that measure your connection speed, make changes, or do other
things to improve performance in some fashion. Next, I'll talk about the
way your hardware and drivers can affect your speed (whether you're on a
broadband or a dial-up connection), and discuss the possible effectiveness
(or ineffectiveness) of switching ISPs.
Unlike the highways, on the Internet,
speed doesn't kill -- in fact, speed is life itself. The faster you go,
the better off you are. But how can you tell how fast you're really going?
Most people assume that kilobits or megabits per second is the bottom
line, but it's really not. The issue is more complicated.
The two variables that most directly
affect your connection speed are bandwidth and latency.
You've undoubtedly heard of both terms countless times when discussing
system memory architectures. While bandwidth in PC architectures or
communication systems is commonly understood, communication latency is
less widely talked about, but is also important. In fact, even if you have
high bandwidth, the latency of your connection can turn your super-fast
pipe into a sluggard.
Traffic on the Internet is broken up into
packets, which are sent out and then reassembled in proper order at the
destination. Latency is how long it takes for a packet to arrive, and it
is also used to describe how long it takes before return packets arrive
from a destination system to your system in response to a particular
request you initiate. High bandwidth and low latency are the best
combination: the packets arrive quickly and have plenty of bandwidth to
support them. Low bandwidth and high latency is the worst: not only do you
not have much of a pipe, but everything arrives in a trickle.
A high-bandwidth, high-latency situation
can be observed with many satellite-based Internet links. While the
bandwidth may be as high as 768Kbits/sec, the lag time between clicking on
a link or sending a command and actually receiving data back can be a
second or more. This makes satellite Internet nearly useless for many
on-line games, many of which demand a latency of less than half a second
or better. For casual users it's less frustrating -- things like email
aren't as obviously dependent on latency, since they mostly transpire in
the background. Web surfing is, however--"I clicked on this link and
nothing's happening!".
Latency depends on a number of factors,
the biggest being the quality of the intervening routers, which has a lot
to do with the style of the connection. A satellite link is slower
than an optical link simply because the data has to be bounced from the
satellite in orbit. Information theory tells us that you can send multiple
signals in parallel, which will carry more information than a single
signal, but all the signals will still travel at the same speed. Cable or
DSL lines generally have far less latency, but it all depends on what's
happening on those lines.
Another latency factor is the number of
hops between you and your target, and the quality of each hop, which is
why some sites come up like greased lightning and others come up like
frozen molasses. In situations where you have a choice of servers, you can
use software tools (described later in the article) to determine which of
several servers is closest, and therefore probably fastest. Amazingly,
sometimes a server that is geographically closer is not faster; it
all depends on the condition of the intervening routers. Geography isn't a
bad way to start when you're trying to determine which of a set of servers
will be closest, but it isn't the be-all and end-all.
How you handle all of this is going to be
determined by the hardware you use to get Net access, which we'll now look
at in detail.
Most people still use a dial-up
connection of some kind to get Net access; while broadband is rolling out
pretty aggressively in a lot of areas, the POTS (plain old telephone
system) method is still king, whether we like it or not. For the sake of
this article, I'm assuming that the hardware in use isn't more than a
couple of years old-- if your modem isn't a V.90 or V.92 spec modem, for
instance, your should strongly consider an upgrade. I have also found that
there can be problems with host-based or "Winmodem"-type modems,
where the processing is done on the computer via a hardware driver. Some
people have better luck than others with these, and while they are much
more easily upgraded to new specs than conventional modems (all you need
to do is get a new driver), the possible future revisions to dial-up specs
at this point are few, if any, given how fast broadband is being brought
to people.
Between your browser (or client program)
and the server at the other end are a whole slew of intermediate
connections. The first and most obvious is the connection between your
computer and your modem. If you run Windows and you bring up the
Properties tab for the modem, one of the elements listed there is
"Maximum speed", which is not the speed of the modem over
the phone line but rather the speed of the data through the COM: port that
the modem uses.
Most of the time the COM: port speed is
set to 56,000 bits per second as the default, but if you ramp it up to
115,200, you will get a slight increase in speed. This is because the data
being shunted through the COM: port doesn't stack up in the COM: port
buffer as much; it's getting let out faster. If the buffer isn't getting
backed up, then the computer doesn't have to wait longer before
acknowledging that it's received the sent data from the remote host, and
everything moves that much faster. This helps cut down on the latency
problem somewhat.
Setting the serial port to more than
115,200 is overkill (and older serial ports based on the 16550a UART can't
go above 115,200 bps anyway), and may not work most of the time, simply
because the data coming through over the wire is never likely to be
compressed to more than a 3:1 ratio anyway. Speaking of compression, there
was a time when compressing and decompressing data produced enough
overhead that it would have contributed to latency, but at this point in
time all the hardware involved is probably fast enough that the
compression more than pays for itself, so to speak.
If you are in an area where the phone
lines have a good deal of noise, you're going to get poorer results with
dial-up connections. Sometimes this can be alleviated by trying several
different ISP local nodes, if you live in an area where there is more than
one node that can be dialed. If not, you may want to consider switching
ISPs, at least provisionally (about which I will talk more later).
Broadband connections involve a broadband
modem, either plugged into a DSL line or a cable TV line, and may either
plug directly into the PC via a USB port or through a network card. If you
have a router, a hub, or a server that you use as a connection-sharing
system, those all introduce additional processing factors which can slow
things down. (This isn't a moral judgment: if you need to share your
connection with other people, you probably have no choice in the matter,
but you should be aware of possible slowdowns.)
One of the first things that can have a
strong effect on throughput when dealing with a broadband link is your
choice of network adapter. Never assume that NICs are like redwoods --
i.e., you've seen one, you've seen them all. The differences between one
brand and another, or even two different cards by the same manufacturer,
can be noticeable.
On my desktop system, for instance, I
have an Accton EM1207D PCI Fast Ethernet Adapter; my laptop has an IBM
10/100 EtherJet CardBus adapter (with a 56K modem built in to boot). I
routinely get average download speeds of 450Kbits/sec on the laptop, while
the desktop maybe breaks 300Kbits/sec every once in a while. Both machines
are running Windows XP and both of them were downloading from the same
servers -- and what's more, the laptop is the slower of the two machines,
and not by a little. The deciding factor there is likely the network card.
When it comes to network cards, like a
lot of other computer hardware, you get what you pay for. Off-brand NICs
are often put together without a lot of the more intelligent optimizations
found in brand-name hardware, and the drivers are often nowhere nearly as
flexible as well. The Accton card in my desktop machine doesn't have
nearly as many settable options as the IBM NIC in my laptop. If your
machine came with a no-name OEM adaptor, consider swapping in something a
little more upscale and try re-clocking your performance. You may be
surprised by the results.
One dangerous myth I want to debunk here
is the notion of "uncapping" one's broadband connection with a
software utility. Most broadband connections have a rate cap, a limit to
how fast data can go upstream and downstream. Because of the way the first
generation of cablemodems (the pre-DOCSIS variety) were constructed, it
was possible to cheat a bit and force the modem to ignore instructions
from the service provider about how fast it could go. When the DOCSIS
standard for cablemodems was rolled out (and the vast majority of
cablemodems at this point are either DOCSIS 1.0 or 1.1 compliant), these
cheats no longer became possible. Word has it the author of the original
rate-uncapping program is now in serious legal trouble as well. This is,
in short, no better than those "Free Cable TV!" scams you get in
email once a week.
The one thing that everyone seems to talk
about, however, is tweaking TCP/IP settings to get the most out of dial-up
and broadband. This is controversial and complicated enough that it
deserves a fair amount of attention…
 |