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…

|