DOCSIS - 2. Architecture - Physical Layer
Cable Modems work like a standard dialup modems except that it has a permanent connection to the Internet. Cable Modems also share their bandwidth with the local area. This is known as the neighbourhood node.
Cable Modems come in various shapes and sizes, from internal PCI cards to exterior modem to being included into the set-top box itself. Setting aside the physical appearance, all Cable Modems have the same basic components.
Standard Coaxial cable networks operate within 350 MHz to 450 MHz of capacity, which can provide around 60 channels, standard coaxial network doesn?t have the capacity to handle both upstream and downstream traffic. Recently cable companies have upgraded their infrastructure and replaced their coaxial backbone with fibre optic. This is called Hybrid fibre-coaxial or HFC for short, fibre is used in the backbone and coaxial going to the homes, this new system provides bandwidth from 5 to 750 MHz or more. This allows for more TV channels, video on demand and Pay-TV. Cable Modems take advantage of the extra frequency and use frequency modulation to send and receive IP traffic. [ehards]
2.2 Inside the Cable Modem
The tuner connects to the cable outlet. With the use of a splitter it receives the Internet data rather than all the data. The data comes through an unused cable channel [see 3.1 Protocols] and therefore the tuner simply passes it over to the demodulator.
The demodulator receives the modulated QAM-64/256 signal, It is then broken down into 0 and 1s by the Analogue/Digital converter. The frames are then checked by MPEG-2 frame synchronisation to make sure the data packets are synchronised. Then the data is checked for errors using Reed-Solomon error correction, corrupted packets are also corrected using this formula. [See 2.6 Error Control for more information].
2.2.3 Burst Modulator
Transmitted data is encoded using QPSK/QAM-16 on the specified frequency, and performs the digital/analogue conversion.
The Media Access Control system is located between the upstream and downstream section of the modem, MAC for Cable Modems are much more complex then the Ethernet MAC and requires some help of the CPU.
This is usually Ethernet RJ45 connection but can also be USB or PCI.
While not shown on the diagram a CPU is required, it mostly handles the MAC functions of the MAC system.
As explained earlier Cable Modems have more bandwidth downstream than upstream.
|Frequency||42-850 MHz in USA and 65-850 MHz in Europe|
|Bandwidth||6 MHz in USA and 8 MHz in Europe|
|Modulation||64-QAM with 6 bits per symbol (normal)
256-QAM with 8 bits per symbol (faster, but more sensitive to noise)
|6 MHz||31.2 Mbit/s||41.6 Mbit/s|
|8 MHz||41.4 Mbit/s||55.2 Mbit/s|
As you can see the European 8MHz cable runs a little faster than the USA.
This downstream data is the raw throuput only, in real life after the headers and error correction etc you lose a sizable chunk of it. Also similar to Ethernet all modems will receive all the download data, the cable modem then filters out the relevant data. [CableModem2]
2.4.1 Reserved Slots
Upstream bandwidth is shared with multiple users, but unlike Ethernet which uses collision detection Cable Modems must use collision avoidance techniques. Every cable modem transmits in timed bursts (also known as mini-slots), and each slot is reserved for specific modems. No other modems can transmit on another modems time slot.
2.4.2 Contention Slots
These slots are available for any modem to transmit within, if two modems transmit the same time then a collision occurs, when the head end receives the corrupted slot of data it will send a signal that no data was received. Then both modems will wait a random amount of time before retransmitting.
These slots can not be used for large amounts of data, they are used to send little short amounts, an example is to ask the head end for more time slots to transmit.
2.4.3 Ranging Slots
Cable Modems are all different distances away from the head end, to try and make the Cable Modems all work together properly; ranging slots are used to modify their clock speeds. The cable modem is given three slots and is told to transmit in the second slot, the head end receives the slot and does some tests to see if its in the correct position and signals the modem to alter its clock speed and try again until its perfect. Another outcome of this is to make the power level of the signal that reaches the head end the same level as the others. [CableModem1]
2.5.1 Quadratic Phase Shift Keying
Quadratic Phase Shift Keying transmits two waves with common frequencies which are offset by 90 degrees, each of which is amplitude modulated. This achieves 2 bits per symbol time and works in harsh and noisy environments.
2.5.2 Quadratic Amplitude Modulation
Like QPSK, QAM uses two waves, the I and the Q. One version of QAM is QAM-64 where each wave is amplitude-modulated independently with eight levels thus yielding 64 different amplitudes jointly.
While QAM-64 manages to encode six encoded bits per symbol, QAM-256 manages eight bits per symbol, while it offers better compression rates its more susceptible to noise and corruption.
2.6 Error Control
Cables being what they are, are susceptible to interference and noise. Errors could be introduced into the Cable Modem signal for a number of reasons including signal degradation, bad cabling, interference or delays.
Because cable is used to transmit video and data services its not a viable option to have corrupted packets. Current error correction techniques used by TCP detect minimal number of errors and in most cases will ask for the packet to be retransmitted. Obviously retransmitting for a real time, live video stream of packets and data will take too long so a way was devised to allow the receiver to correct a large number of errors and making retransmission a thing of the past.
There are a couple of different techniques used within the DOCSIS Cable Modem system to either detect or correct errors.
Both upstream and downstream packets have a FEC (Forward Error Correction) trailer containing Reed-Solomon codes; these are additional redundant bits (like parity) that are used to aid in correcting any bits that are received in error.
Also as each upstream or downstream packet is essentially a broken down Ethernet frame at the point where the Ethernet frame is rejoined it automatically contains an Ethernet CRC (Cyclic Redundancy Check) field which can be used to detect errors.
2.6.1 FEC (Forward Error Correction) RS - Reed-Solomon
RS codes are block based correction codes used within a wide range of digital communication and storage including CD?s, DVD?s, Barcodes, Mobile Phones, Satellite Communication and Broadband technologies such as ADSL including Cable Modems.
FEC is used by filling up the left over space in the frame with a hamming code. The receiver can then do some calculations to work out if there are any errors and if so correct them. This technique works well if the errors are spread out along the data, if too many are in one location the algorithm fails. The number and type of errors which can be detected and corrected depends on the depth of the RS code.
?A RS code is specified as RS(n,k) with s-bit symbols. This means that the encoder takes k data symbols (MPEG or PDM packets) of s bits each and adds parity symbols to make an n symbol codeword.
There are n-k parity symbols of s bits each. A Reed-Solomon decoder can correct up to t symbols that contain errors in a codeword, where 2t = n-k.
The following diagram shows a typical Reed-Solomon codeword (this is known as a Systematic code because the data is left unchanged and the parity symbols are appended):? Direct Quote from: [4I2I]
2.6.2 CRC (Cyclic Redundancy Check)
CRC is part of the Ethernet Packet Specification, In CRC, the sender takes the sum of all the binary 1?s in the Ethernet payload and adds them together; the result is stored as a hexadecimal value in a 32bit packet trailer. The receiver again adds up all the binary 1?s in the payload and compares the result to the value stored in the trailer. If the values are the same the packet is good.
Fig 2.6.2a ? Packet with CRC trailer
This is not totally fool proof, for example if an error were to cause a 1 to be changed to a 0 and somewhere else in the packet a 0 was changed to a 1 this error would not be detected, as to the CRC check it till has the right number of 1?s even though the message may be wrong.
In addition to these Error Detection and Correction techniques interleaving is used to spread out the amount off errors within chunks of data, with the hope that they would be easier to correct. As errors often occur in one place from bursts of noise, the interleaving process reorders bits on transmission, if a chunk of data is damaged when the data is reordered by the receiver, the errors will be more spread out e.g. Where Red = Bad Bits!
Fig 2.6.3a - Interleaving
Spread out errors, are easier to detect and change by the likes of CRC and Reed-Solomon.
The stream of data to be sent is rearranged in the Interleave buffer and then re-arranged into a new order known to both the sender and the receiver. The price of using Interleaving is latency, the bit stream will experience delay due to processing time; as the bits are put in and taken out of the Interleave Buffer. [GABE99b]