A cable modem is a box that is used to connect your cable TV wire to an ethernet card in your computer to access a kind of broadband internet service. "Cable modem" is also used to refer to the service itself.
As of this writing, subscribers do not have a choice of providers when accessing the internet through cable service. You either sign up with your local provider, or you don't. In the US, most cable modem service is provided by either ATT/Media One or Time-Warner. Due to the large expense of installing and maintaining (not to mention marketing) a cable network, there are no small providers. About 44% of the homes in Canada and the US that had cable TV service in August of 2000 also had access to "cable modem", but that is growing rapidly. The cost is usually about $40 to $60 American per month for a single IP address and rental of the cable modem hardware. Installation fees can be steep, but in most areas, there are perpetual "specials" that provide free installation, and maybe a month or two of free service. If you pay a regular ISP, and sport a second phone line so that somebody can actually use the telephone for talking, it is a cost-effective option. If you use a cheap (or free) ISP on a single phone line, well, see the next section...
Usually, two TV channels' worth of bandwidth is allocated for internet use on a cable segment. This can translate into up to 36 MegaBits per second transmission downstream, and 10 Mbps upsteam. Of course, the full bandwidth is never available to a single subscriber. The fastest transmission speed that you can ever reasonably expect to see through a cable modem is about 1.5 Mbps downstream - more or less the equivalent of a T1. That's the best case.
One of the big knocks against cable is that the total bandwidth is shared among all the subscribers in a given area. Cable providers connect their subscribers through a cable modem termination system (CMTS) that acts like a hub. That is, all the traffic on a cable segment must pass through that funnel. Typically, about 500 to 2000 subscribers share those two cable channels' worth of throughput, so YMMV.
In practice, performance is usually quite good, especially compared to dial-up service. Cable providers claim that in the case of large downloads, your local connection is likely to keep ahead of the server's allowance, and general internet congestion most of the time. Many early adopters who saw their performance decline as more people signed up will argue that point, but I've never heard anyone claim that any modem is as fast as even a slow cable connection. (NOTE: One of the ways that cable providers optimize performance on local segments is by cacheing popular content on local proxies. The friendly ISP will provide a simple setup program that will change a few registry settings on your Windows machine, and make your browser "self-configuring" forever after. Friendly!)
A cable modem will provide you with a persistent connection to the internet. You (or your applications) have full-time access to the big world out there. The big world then has access to you, too. Even if your provider uses dynamic IP addresses, you may keep the same IP address for months (or more) at a time. To make it even worse, your IP will fall into the pool owned by your provider - a fine pool indeed for those who would seek to gain access to weakly protected systems. If you choose any persistent internet service type, it is vital that you take some measures to protect yourself. Many people choose to build and maintain a nice Linux firewall, which can also provide a NAT service for a home network. If that sounds too difficult, go out and buy a hardware firewall. These are little boxes that can provide pretty good security, and enable you to share your connection with several machines at your house without learning hardly anything. Look for something called "stateful packet inspection". Simply turning off Windows "sharing" is not enough!
Most people who need macho bandwidth also need multiple IP addresses. These can be usually had from the provider for a nominal fee, but it's generally better to run a private network through a NAT (Network Address Translation) server. That makes every machine on your little LAN seem to have the same internet IP address, and it can provide security, too. I can't emphasize security enough. You should see my firewall logs.
This writeup is badly outdated, and by today's standards for 'factuals', it is also sketchy and loose.
Tragically, it is also my highest rated writeup.
It is unlikely that I'll find the time to fix this up in the near future, and even if I did, it would require such major changes that I'd feel conflicted about keeping the old kudos for what would in essence be a new piece.
I therefore call on you to write a better, more current, and more informative article on this subject. Should you rise to this importunity, I'll be happy to have this one euthanized. /msg me if you like.
EDITORS: In other words, don't hesitate to axe this when it's superseded.