The ideal way to build a national broadband network for Internet access would be to run a two-way, high-bandwidth cable to every individual household. But sometimes you have to work with what you have, and in America what we have is cable television networks. These networks have the bandwidth, but not the two-way part – they weren’t originally intended for two-way communication. Worse still, cables from many neighbors all connect together, so it’s not possible to send a signal to just one household. And yet cable companies manage to deliver 100 Mbps of bandwidth to their broadband customers using this faulty infrastructure, and they do so without compromising pre-existing cable TV service. The technology behind this magic trick is called DOCSIS, which stands for Data Over Cable Service Interface Specifications.
In this two-part series, we’ll take an in-depth look at DOCSIS, what it is, and how it evolved. If you’ve ever wondered how cable TV companies manage to gradually get more bandwidth from the same old cable lines, this series is for you.
Of course, the story doesn’t start at 100 megabits per second. Early attempts to provide broadband service over cable (take the word “broad” with a grain of salt here) used one-way systems where the return path was over a telephone line. One of the first true cable broadband systems was developed by LANcity. LANcity cable modems treated the wired network as one very large 10 Mbps Ethernet segment.
Traditional 10 Mbps Ethernet also uses coaxial cable, as does cable TV (in fact, cable has slightly different specifications). A coaxial cable consists of an inner wire wrapped in insulation which is in turn surrounded by an outer conductor. Thus, the inner wire is shielded from electromagnetic interference from the outside, and the outer conductor is grounded, so it is also not susceptible to interference. This allows the same TV channels to be used for cable that are also used for terrestrial broadcasting (within reason, as in practice the shielding is not perfect).
The big difference between Ethernet over coax and data over cable TV is that Ethernet puts voltages directly on the cable. The way in which the transition of the voltages constitutes bits 0 and 1. This simple mode of operation is called “baseband” transmission – hence the name 10BASE2 (10 Mbps baseband transmission over (almost) 200 meters ).
Baseband transmission is simple to implement, but has the disadvantage that there can only be one signal on the wire at a time. Thus, with multiple systems connected to the same wire, the systems must take turns transmitting data while waiting for the wire to be idle. When two Ethernet systems accidentally start transmitting at the same time, they each notice the other’s transmission, declare a “collision”, and try again some time later. Systems use random latency, so retransmissions usually no longer collide.
On a wired network, things are done a little differently. In order to co-exist with TV (and radio) broadcasts living on the same cable, digital signals are modulated into 6 MHz channels (or 8 MHz in many places around the world), just like TV channels. In the downstream direction (from the cable operator to the user), the digital information is carried on an unused television channel.
The delicate part is the upstream direction, from the user to the cable operator. Fortunately, in the past, cable networks were equipped with limited upstream capacity, sometimes referred to as “sub-band”. This is the lowest part of the frequency band used for cable television, and was often used to carry programming from cable access stations to the cable operator’s “headend”, where all the content injection equipment resides in the wired network. Frequencies of 5 to 42 or 65 MHz are used for reverse traffic, while higher frequencies, up to 1 GHz, are used for broadcast and downstream traffic.
So now we have high bandwidth and two-way infrastructure. This leaves only one problem: the fact that several users are connected to the same cable. In the downstream direction, this is not a big problem. Just like on an Ethernet network, each data packet is addressed to the intended recipient, and everyone just ignores packets that aren’t addressed to them.
Upstream, however, things are more complex. What happens if multiple users send data at the same time? While it is possible to adopt the classic Ethernet collision and retransmission mechanisms to solve this problem, it is not very efficient as the length of the cables increases, or not at all, really. Thus, DOCSIS instead uses the TDMA (Time Division Multiple Access) technique which is also used in cellular telephony. With TDMA, the channel is cut into small time slices, called “mini-slots”, which are then distributed to cable modems (CMs) by the cable company‘s CMTS (Cable Modem Termination System). It usually takes multiple minislots to transmit a single IP packet. By giving a cable modem more or fewer slots, the CMTS can control exactly how much download bandwidth each cable modem can use.
Time and the speed of light
Since the minislots are so small (typically there are 40,000 minislots per second), the timing of the different transmissions is very critical. If a certain cable modem transmits too early, it will walk on the previous time slot, but if it transmits too late, it overlaps the next. Thus, each cable modem must be properly synchronized with the CMTS to avoid problems.
The problem is that different households are at different distances from the head end, and 25 microphoneseconds per time slot, the speed of light cannot be ignored – a difference in cable distance of a few miles or kilometers between two homes will cause one home to trample the other’s time slot. So when a CM initially contacts the CMTS, the CMTS sends information about how long it takes for the CM’s transmission to arrive, so that the CM can compensate for this and stay within its assigned timeslots. When this procedure has been completed successfully, the cable modem is synchronized with the CMTS and ready to exchange IP packets.
DOCSIS Bolts and Nuts
The original DOCSIS 1.0 specification was developed in 1997 by CableLabs and certified in 1999. DOCSIS 1.1 followed in 1999/2001 and 2.0 in 2001/2002. The advantage of 2-to-1 DOCSIS is in the upstream direction, which provides better performance in noisy environments as well as better bandwidth. In DOCSIS 1, upstream channels can be between 200 and 3200 kHz wide, DOCSIS 2 also adds 6400 kHz.
|Upstream||Raw bit rate||Downstream||Raw bit rate|
|DOCSIS 1.0 and 1.1||200 – 3200 kHz, QPSK or 16QAM||0.4 – 13 Mbps||QAM64 or QAM256||36 or 43 Mbps|
|DOCSIS 2.0||200 – 6400kHz, QPSK – 128QAM||0.4 – 36 Mbps||QAM64 or QAM256||36 or 43 Mbps|
|DOCSIS 3.0||n*200 – 6400kHz, QPSK – 128QAM||max n * 36 Mbit/s||n * QAM64 or QAM256||36 to 172 Mbps (with 4 channels)|
Download speeds in DOCSIS 2 are also aided by new modulation techniques, which cram more bits into each “symbol”. And there’s a whole new way for multiple modems to share upstream bandwidth: S-CDMA (Synchronous Code Division Multiple Access). S-CDMA allows multiple cable modems to transmit at the same time, and it is also more resistant to noise present on channels below 20 MHz. Let’s take a closer look at the issues of bits per symbol and S-CDMA.
For those who aren’t electrical engineers or haven’t lived through the dial-up era, I’ll explain the bit-per-symbol issue. With out-of-baseband transmission, the signal we want to pass is modulated onto a carrier. This way, each transmission can have its own frequency without disturbing anyone else. However, each time there is a change in the data signal, it distorts the purity of the carrier, causing it to spill out across the frequency band. The extent of this invasion into neighboring frequency space is determined by the frequencies of the signal we modulate onto the carrier, which in turn depends on how often we change the data signal per second.
So the frequency band we are allowed to use limits the number of times per second we can change the data signal. For this reason, it is not possible to have a baud (changes per second) rate well over 2400 for modems on the telephone network, which provides a frequency band of 300 to 3400 Hz. However, all is not lost – there is no reason why we should not don’t have many more “symbols” than 0s and 1s. So rather than letting our operator encode 0s and 1s, we can make it encode a larger number of values. For example, with dial-up, the V.32 standard uses a baud rate of 2400, but each of those 2400 changes per second can be between as many as sixteen distinct symbols. This allows the modem to transmit four bits per symbol, for a total bit rate of 9600 bits per second.
Coincidentally, one of the modulations for the upstream direction in DOCSIS is the same as with our 9600 bps modem. But with 1600 kHz instead of 3.1 kHz, DOCSIS 2.0 supports a symbol rate of 160 to 5120 kHz and 2 to 7 bits per symbol, using QPSK (Quadrature Phase Shift Keying, two bits per symbol) and 8QAM at 128QAM (3 to 7 bits per symbol).
QAM is Quadrature Amplitude Modulation. It is a system in which a symbol is encoded as a phase and amplitude shift of the carrier. For example, 16QAM has four distinct phase offsets and four amplitude offsets. These are often drawn in a “constellation” that shows all possible combinations.
Electrical engineers talk casually about the real and imaginary parts of a symbol, allowing them to use imaginary number-based math Iwhich is the square root of -1, to unravel these complex encodings quickly and efficiently.