DOCSIS Protocol Layers

Figure 3-2 shows
the protocol layers included in the DOCSIS specifications. They range from the
Physical Media Dependent sublayer, which carries modulated RF (Radio
Frequency) energy, to a layer carrying some of the network administration
protocols used in an IP network. In this chapter we will concentrate on discussing
the lower layers, since these are specific to cable and adequate descriptions
cannot easily be found elsewhere.

Physical Media Dependent Sublayer

At the bottom of the DOCSIS stack is the Physical Media Dependent
(PMD) sublayer. Communications textbooks describe many ways to modulate
waveforms to allow information to be transmitted from a source to a destination.
Common modulation methods, with which you are probably familiar, include
Amplitude Modulation (AM) and Frequency Modulation
(FM), which are used for ordinary broadcast radio transmission, but there
are also many other modulation schemes used for other purposes. Each scheme has
characteristics that may make it useful in one set of circumstances, whereas
another scheme may be better suited to different circumstances.

Some modulation schemes, for example, are relatively immune to extraneous
noise, whereas others may work rather badly in the presence of noise. Others
allow for very rapid information flow, whereas some may operate relatively
slowly. The schemes used in cable systems are well adapted to that particular
environment, and allow relatively high rates of information flow in the cable
access network.

Modulation Schemes

All modulation schemes begin with the notion of a pure monochromatic (single
frequency) sine wave such as the one depicted in
Figure
3-3.

The amplitude of a sine wave (typically measured in volts or millivolts) varies
smoothly in time: It starts from zero, crests at a value VP, decreases
again to zero, continues decreasing until it reaches a peak negative value,
VP, and then returns again to zero. This cycle is repeated
many times, as shown in Figure
3-3.

The number of complete cycles that occurs in a second is called the frequency
of the wave. For the kinds of waves that we will be talking about in this book,
the frequency ranges from a few million per second to a few hundreds of million
per second. Each cycle per second is called a Hertz, abbreviated as Hz; millions
of cycles per second are called megahertz, abbreviated as MHz.3

A sine wave of a particular frequency carries no information, but it can be
modified by a process called modulation: The information transmitted
is used to deform it from a pure sine wave so that once the wave reaches a distant
receiver, the amount of deformation can be measured, and the sender's information
can be recovered through demodulation. This is shown in
Figure
3-4. Because the original sine wave, although it contains no information,
is used to carry information, it is called a carrier, and the frequency
of the carrier is called the carrier frequency.

Most services that utilise carrier waves adopt a channelized bandplan, in which
a range of frequencies is broken up into a number of channels, and each channel
contains exactly one carrier frequency. For example, the domestic AM broadcast
band is assigned by the Federal Communications Commission (FCC)
to frequencies between 535 and 1605 kHz. However, if stations were to place
their carrier frequencies wherever they desired in this range, they would interfere
with one another. To prevent this, the FCC mandates a bandplan of fixed channels
spaced by 10 kHz and ensures through a licensing system that no two stations
in the same geographical area are assigned the same carrier frequency. So, for
example, an AM broadcast station may be assigned to the 590 kHz channel (imagine
an ugly jingle here, followed by a cheery voice announcing, "KQIQ AM 590"),
but, since channels are separated by multiples of 10 kHz, there cannot be a
station on 595 kHz.4

The FM broadcast band operates under a similar scheme, although in that case
the band edges lie at 88 and 108 MHz, and the channels are spaced by 200 kHz.
The reason for the greater separation between carrier frequencies is that
frequency modulation, although it is more immune to noise than AMwhich is
why most stations broadcasting music use FMit also occupies much greater
bandwidth than AM. This is an example of different modulation schemes being used
for different purposes in different environments.

Broadcast radio is, clearly, quite different from two-way digital data
communication over a cable. Although the two share the fundamental
characteristic of modulating a carrier wave to transmit information, the two
services have different requirements: Broadcast is analog. It is relatively
unconcerned with noise and reliability, and information is transmitted at a
relatively low rate. By contrast, data communication is digital. It is important
that the transmissions be reliable and untainted by errors induced by noise, and
the information flow may be quite high-speed. Therefore it is unsurprising that
different (and more complicated) modulation techniques are used to transfer data
than the relatively simple techniques used in broadcast radio.

The greatest single difference lies in the digital nature of the information.
Digital data may always be reduced to a stream of zeros and ones. Therefore it
is necessary to modulate the carrier only in such a way as to be able to
distinguish between the "zero" state and the "one" state,
and then to be able to switch quickly between these states.

Simple modulation schemes such as AM can be operated in this way. For example,
in standard ASCII computer code, the uppercase letter A is represented by the
8-bit string 01000001. In a simple digital amplitude modulated system, the waveform
corresponding to the letter A might look as in
Figure
3-5.

A more common modulation method used for transmission of digital data is Phase
Shift Keying, or PSK. Instead of varying the amplitude of the frequency
or the carrier, its phase is shifted according to some well-defined scheme.
Figure 3-6 shows
the letter A in a PSK scheme in which a phase shift of 180° represents
a binary one and a phase shift of 0° represents a zero.

A relatively simple variant of ordinary PSK, called Quadrature Phase Shift
Keying or QPSK, is often used in modems. QPSK is a modulation scheme
that, although rather inefficient, is also more robust (that is, less prone to
errors on noisy channels) than more complicated schemes.

In QPSK, a single carrier is split into two components phased 90° apart.
(Two signals with the same frequency but 90° apart in phase are said to be
in quadrature.) The two components are known as the I-channel and the
Q-channel. Dividing the carrier in this way allows us to send twice as much
information in the same amount of time, since the two channels are independent
of each other.

Consider first just the I-channel. We can modulate this exactly the same way
as we did in ordinary PSK: A phase shift of 180° represents a binary 1, and
a phase shift of 0° represents a binary 0. But we can also do the same for
the Q-channel: Adding a phase shift of 180° to the Q-channel (which is
already shifted +90° relative to the I-channel) represents a binary 1, and
a phase shift of 0° represents a binary 0.

Thus we can transmit bits in pairs, allowing the first bit of the pair (for
example) to modulate the I-channel, and the second (for example) to modulate the
Q-channel. The I-channel and the Q-channel signals are combined before
transmission and are transmitted simultaneously. At the receiving end, a
demodulator splits the incoming signal into I-channel and Q-channel, and then
examines each channel to determine whether it is at phase 0° or phase
180°. From this measurement, the original pair of bits may be
recovered.

QPSK demonstrates an important point about digital transmission systems that
is often not clearly understoodthat is, that the bit rate of a
communication is not always equal to the baud rate. The baud rate is defined as
the rate at which individual symbols are transmitted. In QPSK, the carrier may
be in one of four states, corresponding to the waveform for 00, 01, 10 and 11,
respectively; each state is referred to as a symbol. The baud rate in a QPSK
system is therefore the number of (00, 01, 10, 11) symbols transmitted per
second. Since each symbol represents two independent bits, the bit rate of a
QPSK transmission is twice the symbol, or baud, rate.

The different states in QPSK (as well as other quadrature modulation schemes)
are often shown in what is called a constellation diagram, in which each possible
symbol is marked with a dot (see Figure
3-7).

Another common modulation scheme is known as 16-QAM. (QAM, as you may
be able to guess, stands for Quadrature Amplitude Modulation.) This uses
the same basic mechanism of splitting the carrier into an I-channel and a Q-channel
and shifting the phase of the two channels, but in addition it applies amplitude
modulation independently to the two channels. Suppose that the channel is such
that we can reliably detect two different levels of amplitude, then the corresponding
constellation diagram looks like Figure
3-9.

N = number of phase axes *
number of distinguishable phases per axis *
(number of amplitude states)2

or, putting in the numbers:

N = 2 * 2 * 22
= 16; hence, 16-QAM.

Even more efficient modulation schemes are possible if the communication
channel is noise-free and the modulator and demodulator are capable of reliably
distinguishing a greater number of amplitude levels. Both 64-QAM (four amplitude
states) and 256-QAM (eight amplitude states) are commonly used where
circumstances permit.

Just as the bit rate is twice the baud rate in ordinary QPSK (which is
sometimes called 4-QAM), the following relationships hold for the more efficient
modulation schemes in Table 3-2.

Table 3-2Bits per Symbol for Various Modulation Schemes

Modulation Scheme

Bits per Symbol (Bit Rate 4 Baud Rate)

16-QAM

4

64-QAM

6

256-QAM

8

On most cable systems, upstream communication takes place in the frequency
range between 5 and 40 MHz. This tends to be a rather noisy part of the electromagnetic
spectrum.5
Because of the relatively noisy nature of the upstream channel, cable modems
must be capable of transmitting only QPSK and 16-QAM. The noise level in the
range 5 to 40 MHz is generally too great for 64-QAM and 256-QAM to be useful.
64-QAM and 256-QAM are, however, used in the higher-frequency downstream direction,
where the noise is typically much less. When operating in 16-QAM mode, DOCSIS-compliant
modems are required to follow the symbol diagram given in Figure
3-10.

The 16-QAM mode of DOCSIS modems can also be programmed to operate according
to a symbol mapping in which the transmitted symbol depends on the previously
transmitted symbol, a method that is called differential symbol mapping, or
differential coding. The constellation diagram for DOCSIS 16-QAM differential
coding is shown in Figure
3-11.

Table 3-3 shows how the quadrant of the about-to-be-transmitted symbol is derived
from the current bits. (The abbreviation MSB in the table stands for
Most Significant Bit; similarly the abbreviation LSB is commonly
used to mean Least Significant Bit.) The combination of
Figure
3-11 and Table 3-3 tells us what symbols must be transmitted and how much
phase change to apply to the transmission. Note that Table 3-3 shows us that
the prior symbol does not affect the phase (although it does affect which bits
are transmitted, as Figure
3-11 tells us).

Table 3-3Derivation of Quadrant in DOCSIS Differential 16-QAM

Input Bits I1Q1

MSBs of Prior Symbol

Phase Change

00

11

0°

00

01

0°

00

00

0°

00

10

0°

01

11

90°

01

01

90°

01

00

90°

01

10

90°

11

11

180°

11

01

180°

11

00

180°

11

10

180°

10

11

270°

10

01

270°

10

00

270°

10

10

270°

As an example, suppose that the last symbol that the modem transmitted was
the one marked (1, 0, 1, 0) in Figure
3-11 and that the next symbol will represent the four bits 1110. The current
input bits (I1, Q1) are 11. The MSBs of the prior symbol
were 10. Then Figure
3-11 and Table 3-3 tell us that the MSBs for the currently transmitted symbol
must be 01 and the quadrant must change phase by 180°. The LSBs for the
currently transmitted symbol are identical to the LSBs of the input signal (that
is, differential encoding is used only for the MSBs).

Time Slices

Data transmission in a cable system is synchronous. This means that events
are linked to carefully synchronized clocks running within the cable modem and
its corresponding cable modem termination system. Time slices are allocated to
one or more transmitting modems in a process called Time Division Multiple
Access (TDMA). The unit of temporal granularity in a DOCSIS cable
system is 6.25 microseconds.

Data are transmitted and received in indivisible time slices called
minislots, each of which is an integral power-of-two multiple of 6.25
microseconds (1 3 6.25 microseconds, 2 3 6.25 microseconds, 4 3 6.25
microseconds, 8 3 6.25 microseconds and so on). If the data do not exactly fit
within a minislot, the time up to the next available minislot boundary is
effectively wasted, since minislots are always synchronized across the network.
A single packet of data may occupy several contiguous minislots, depending on
its length.

When the modem is using QPSK modulation, a total of 64 symbols (corresponding
to 16 octets, or 128 bits) can be transmitted in a single minislot.
6
The duration of a minislot on a particular channel, expressed as a multiple of
6.25 microseconds, is present in Upstream Channel Descriptors transmitted
periodically by the CMTS.

The CMTS keeps track of time with an internal 32-bit counter (which wraps
silently back to zero after reaching 232  1) synchronized to a
10.24 MHz clock. The value of this counter is used to synchronize transmissions
by modems throughout the access network.

Both QPSK and 16-QAM are supported on the upstream channel, with symbol rates
of 160, 320, 640, 1,280 and 2,560 kilosymbols per second. The highest upstream
bit rate that a DOCSIS modem can support is therefore 2,560 kilosymbols times 4
bits per symbol (16-QAM modulation), for a total of 10.24 megabits per
second.

Upstream Transmission

The actual procedure of transmitting a data packet is quite complicated; it
is diagrammed in Figure
3-12. We will briefly look at the various values and steps shown in
Figure
3-12.

This is simply the string of zeros and ones that the CM wishes to
transmit at this time.

Block the data

The data are divided into smaller units called Information
Blocks.

Apply optional FEC

In any transmission medium, there is a possibility that bits may be lost
or recovered incorrectly in the receiver. To guard against this, CMs may use a
system called Reed-Solomon Forward Error Correction. This process takes
an Information Block and adds bits to it in such a way that if a few consecutive
bits are lost or scrambled in transmission, they can be recovered at the
receiver.7
These bits are sometimes called FEC Parity bits. The
Information Block plus the FEC Parity is called a codeword.

Scramble

Many electronic circuits at the receiver assume that all DC bias (that
is, a "long-term" non-zero voltage) has been removed from a signal.
Long strings of zeros or ones in the data stream may result in a short-term
apparent DC bias, which can cause receiver circuitry to misinterpret the data.
To prevent this, each codeword is scrambled prior to transmission by XORing it
with a pseudorandom sequence of bits. The receiver XORs the received data with
the same pseudorandom sequence, effectively recovering the original codeword.
(See Chapter 2 for more details about the XOR operation.)

Preamble prepend

A preamble is placed at the beginning of the packet. This is a sequence
that will help the CMTS synchronize correctly so that it recognizes that data
are about to be received. The length and contents of the preamble are sent to
the CM by the CMTS during initialization.

Symbol map

The bitstream is converted by the process described in Modulation Schemes
into the corresponding stream of symbols.

Filter

A stream of bits that changes too rapidly between the zero and one states
can cause the bandwidth of the transmitted signal to increase beyond that
allocated to the upstream channel. (It is a fundamental law of physics that the
more abruptly a signal changes state, the wider the bandwidth that it occupies.
To a good approximation, if a signal changes state in n microseconds, it
will occupy a bandwidth of 1/n MHz.) Before transmission, the cable modem
smooths the modulating signal so that the transmitted signal will fit within a
channel width no greater than 1.25 times the symbol rate.

Modulate

The carrier is modulated with the filtered signal and placed on the
coax.

The process is arranged so that the final step, modulation, begins precisely
at the start of a minislot.

Downstream Data Flow Through a Cable Modem

Downstream flow is essentially the inverse of the upstream process:
The incoming data are demodulated; the bitstream is recovered by applying an
inverse symbol map; the preamble is removed; the bits are unscrambled; the FEC
encoding is removed (or, if necessary, the information in the FEC parity bits is
used to correct for erroneous bits in the data); and finally, the actual data
are extracted.

Because the downstream data travel in a less noisy part of the spectrum, they
are not subject to the same bandwidth and noise constraints as the upstream data
and can be transmitted using more efficient modulation schemes. On the
downstream link, a DOCSIS cable modem is required to support 64-QAM with a
symbol rate of 5.056941 megasymbols per second (corresponding to 30.341646
megabits per second) and 256-QAM with a rate of 5.360537 megasymbols per second
(corresponding to 42.884296 megabits per second). These two rates are often
referred to as "30 megabits" and "40 megabits",
respectively. Note, however, that these numbers refer to total raw downlink
capacity and make no allowance for the overhead that is added to each data
packet, nor to the fact that many modems are probably sharing the same
downstream channel.

The packet format for downstream data is formatted quite differently from
that used for upstream traffic. Instead of using Ethernet-based formatting, the
downstream packets are formatted as a continuous stream of 188-octet
MPEG8
packets, each packet comprising a four-octet header followed by
184 octets of data. The MPEG format was chosen for the downstream data because
this particular format is well adapted to carrying real-time video data, and the
format is already used to deliver certain kinds of digital television down the
cable. The details of the MPEG formatting used to carry data packets are
provided in the DOCSIS RF specification.

Media Access Control Layer

Above the PMD layer lies the Media Access Control (MAC)
protocol layer. This layer supports the following key properties and
features.

Bandwidth allocation

Providing upstream minislots

Contention-based and reservation-based upstream transmission

Variable-length packets

Quality of Service, providing bandwidth and latency guarantees and
creation, management and deletion of dynamic flows

Range of data rates

The MAC layer network topology is not confined to a single CM/CMTS pair.
Rather it comprises a CMTS and a suite of managed CMs. As we have discussed, the
CM-CMTS relationship is not peer-to-peer. CMs act as clients of a CMTS, which
instructs them exactly how they are to behave in order that fairness is ensured
for all the CMs for which the CMTS is responsible.

All transmitted data obey the following rules of ordering.

Within an octet, the least significant bit is transmitted first.

When the value being transmitted spans more than one octet, the octets
are transmitted in order of most significant to least significant. This way of
ordering values that span multiple octets is known as network order. In
the absence of an explicit directive to the contrary, all such values used in
all the protocols in this book are transmitted in network order.

Signed integer values are transmitted in two's complement
format.

In two's complement format, negative values are transmitted as
follows: In order to transmit the negative number N (where N is positive),
calculate 1N-1, then invert all the bits in the binary representation of this
number. This is the value to be transmitted.

For example, to transmit a single octet representing the value 15,
the octet that is transmitted has the form 11110001 (but remember that the bits
are actually transmitted in reverse order, per the first rule).

Figure 3-13 shows
the relationship between the MAC layer and the PMD layer.

If this is a Request header, contains the SID for which the request is
being made in the bottom 14 bits.

Else, contains the length of the MAC frame, defined as the sum of the
number of octets in the extended header (which may be zero) and the number of
octets following the HCS field.

EHDR

Extended header; optional, length 0 to 240 octets

HCS

Header Check Sequence; 2 octets. Used to ensure the integrity of the MAC
header, this is a 16-bit Cyclic Redundancy Check (CRC) calculated over the rest
of the MAC header (including the EHDR, if present). The method of calculating
the HCS is CRC-CCITT(x16 1 x12 1 x5 1 1),
described in ISO recommendation 8802-3. See also Appendix B, where the CRC
calculation is presented in some detail.

MAC Packet Protocol Data Unit (PDU) Format

DOCSIS modems support variable-length packets that may contain up to 1,500
user octets per packet. The format of DOCSIS MAC data packets is the same as is
used in Ethernet, described in ISO 8802-3.

Each data packet begins with a six-octet header as defined in the section
"MAC Header Format", with FC TYPE and EHDR_ON both set to 0.

The Packet Protocol Data Unit (PDU) immediately follows the header
and has the format shown in Figure
3-15.

Source Address. A 48-bit (6-octet) source address that identifies the
originator of the packet.

Type/Len

A 16-bit (2-octet) field that defines either the Ethernet Type or the
Length of the data, in conformance with ISO 8802-3.

CRC

A 32-bit (4-octet) CRC calculated over the rest of the packet PDU, as
specified in ISO 8802-3 and in Appendix B.

Specialized MAC Headers

There are also many specialized MAC headers that are used for specific
management functions that maintain synchronization between the CM and the CMTS.
These are the headers.

Timing Header

MAC Management Header

Request Frame

Fragmentation Header

Concatenation Header

Fragmentation Extended Header

Service Flow Extended Header

Payload Header Suppression Header

Unsolicited Grant Synchronization Header

For the most part, the details of these headers are beyond the scope of this
book. However, the MAC Management header and the Request frame are of interest,
since they are used to request and deliver guaranteed Quality of Service for
telephony on the upstream link.

The MAC Management header supports MAC management messages (unsurprisingly).
It has the following fields.

FC

FC TYPE

11

FC PARM

00001

EHDR_ON

0

MAC_PARM

Reserved for future use

LEN

Length of the packet PDU, in octets

HCS

Header Check Sequence.

The header is followed by a specific MAC management message.

The request frame is used by the cable modem to request upstream bandwidth
for sending information packets. The header is transmitted "bare",
without any subsequent PDU. Since it is only 6 octets long, it fits in a single
minislot. Here is its format.

FC

FC TYPE

11

FC PARM

0001x

x = 0 for a minislot request

(x = 1 for an ATM cell request)

EHDR_ON

0

MAC_PARM

Total number of minislots requested; this is the actual number of
minislots needed to transmit the desired data, including any PMD
overhead.

SID

The Service ID for the flow requesting bandwidth

Header Check Sequence

Format of MAC Management Messages

There are 255 possible different types of MAC Management message; of these,
22 are currently defined, as shown in Table 3-4.

Table 3-4MAC Management Messages

Message Type Value

Message Name

Message Description

1

SYNC

Timing Synchronization

2

UCD

Upstream Channel Descriptor

3

MAP

Upstream Bandwidth Allocation

4

RNG-REQ

Ranging Request

5

RNG-RSP

Ranging Response

6

REG-REQ

Registration Request

7

REG-RSP

Registration Response

8

UCC-REQ

Upstream Channel Change Request

9

UCC-RSP

Upstream Channel Change Response

10

TRI-TCD

Telephony Channel Descriptor

11

TRI-TSI

Termination System Information

12

BPKM-REQ

Privacy Key Management Request

13

BPKM-RSP

Privacy Key Management Response

14

REG-ACK

Registration Acknowledgement

15

DSA-REQ

Dynamic Service Addition Request

16

DSA-RSP

Dynamic Service Addition Response

17

DSA-ACK

Dynamic Service Addition Acknowledgement

18

DSC-REQ

Dynamic Service Change Request

19

DSC-RSP

Dynamic Service Change Response

20

DSC-ACK

Dynamic Service Change Acknowledgement

21

DSD-REQ

Dynamic Service Deletion Request

22

DSD-RSP

Dynamic Service Deletion Response

The format of MAC Management messages is as shown in
Figure
3-16. MAC management messages are encapsulated within an LLC unnumbered
information frame, described in ISO 8802-2. The MAC Management Message is preceded
by an ordinary MAC header that indicates that the PDU contains a MAC Management
Message, formatted according to the section "Specialized MAC Headers".

The fields in the MAC Management Message Header (that is, the header
contained in the PDU, not the one that preceeds the Management Message) are as
follows.

DA

Destination Address (48 bits)

SA

Source Address (48 bits)

msgLen

The length, in octets, of the MAC message, starting at DSAP and ending at
the end of the payload. (This does not include the CRC check.) 2
octets.

DSAP (Destination Service Access Point)

Defined to be 0; 1 octet

SSAP (Source Service Access Point)

Defined to be 0; 1 octet

Control

Defined to be 3 (which marks this as an Ethernet unnumbered information
frame); 1 octet

Version

Defined to be either 1 or 2, depending on the Type field; 1
octet

Type

The type of the message, taken from Table 3-4; version = 1 for messages 1
to 13; version = 2 for messages 14 to 22; 1 octet

RSVD (reserved, used only for alignment)

Defined to be 0; 1 octet

The header is followed by the management message payload. Following the
payload is a 4-octet CRC check calculated as specified by ISO 8802-3 and
Appendix B, which covers the message, beginning with DA and ending at the end of
the payload.

MAC Management

We have referred several times to the fact that, unlike on a peer-to-peer
analog modem system, a cable modem acts as a client of its termination system.
This is necessary for efficient operation in a shared environment where multiple
modems are contending for limited bandwidth resources. In order for a CMTS to
manage its client modems effectively, DOCSIS defines a number of MAC management
messages, which are used to ensure that all the modems served by a single CMTS
act in a fair and reasonable manner.

Not all of the MAC management messages listed in Table 3-4 are of equal
importance to telephony applications. We will describe only the most important
ones, which are useful to understanding how a cable modem establishes its place
in the access network and recognizes when it is permitted to transmit upstream
data.

Service Identifiers and Service Flow Identifiers

The CMTS manages CM data flows by assigning to each modem two or more 32-bit
Service Flow Identifiers (Service Flow IDs, or SFIDs), each
of which is unique within the set of cable modems for which the CMTS is
responsible. At least one SFID represents a data flow in the upstream direction,
and at least one represents flow downstream.

In addition to the SFIDs, upstream flows are assigned 14-bit
Service IDs (SIDs), which the modem uses to request, and the CMTS
to grant, upstream bandwidth. SFIDs are explored in greater detail in the
section "Quality of Service (QoS)".

Within a cable modem, SFIDs are treated independently and may have different
priorities. Call signaling traffic, for example, might be deemed more important
than bearer data and so be assigned to a SFID with a higher priority. Similarly,
voice conversation may be allocated to a SFID with a guaranteed upstream
bandwidth, whereas an e-mail application would more likely be transmitted via an
SFID associated with a low-priority, "best-effort"
stream.10

Time Synchronization Message (SYNC)

It is vital that all the modems in a system (those sharing a common CMTS)
have a closely aligned notion of the time. This is accomplished through the
periodic transmission of SYNC messages by the CMTS. Nominally, SYNC messages are
transmitted every 200 milliseconds.

The CMTS contains a master clock, running at precisely 10.24 MHz. Every time
this clock ticks (every 0.09765625 microseconds) a 32-bit counter inside the
CMTS increments. In order to bypass the (perhaps variable) delay in the CMTS
protocol stack, the current value of the clock is inserted into the SYNC message
at the moment that the message is handed to the PMD Sublayer, so that the most
accurate value possible is transmitted.

Note that the resolution of the master clock is such that 64 counts
correspond to 6.25 microseconds. Since the minimum duration of a minislot is
12.5 microseconds, the resolution of the time in the SYNC message is sufficient
to enable the CM/CMTS combination to synchronize clocks within a tiny fraction
of a minislot.

Because electrical signals travel at a finite speed, there is a
correspondence between time and distance. Since signals travel through the
access network rather more slowly than they do in air, a single tick of the
10.24 MHz clock, or 0.09765625 microseconds, corresponds to a distance of
approximately 80 feet. This is the ultimate spatial resolution of the access
network.

Upstream Channel Descriptor (UCD)

Upstream Channel Descriptors are transmitted periodically by the CMTS
(nominally once every two seconds). Their purpose is to define the
characteristics of each upstream channel. Because of the many parameters that
may be required to completely define the characteristics of a particular
upstream channel, UCDs require on an extensible mechanism for encoding
parameters. The mechanism used is known as TLV encoding (from
"Type-Length-Value") and is used frequently throughout DOCSIS and
PacketCable when a protocol calls for passing variable amounts of
information.

In TLV encoding, the value of a parameter is encoded using the following.

A Type field, of length one octet, which represents the parameter being
encoded

A Length field, of length one octet, which gives the length, in octets,
of the value of the parameter

The Value of the parameter

The length of a TLV-encoded parameter is therefore equal to the length of the
value of the parameter, plus two. The entire UCD is shown in
Figure
3-17.

Value used to identify the particular upstream channel to which this
message refers

Configuration Change Count

This value is incremented by one whenever there is a change in any
parameter encoded in the UCD. This allows a modem to disregard the rest of the
message if the Configuration Change Count is the same as for a message that has
already been processed.

Minislot size

The duration of the minislot for this upstream channel, given in units of
6.25 microseconds. Allowable values are: 2, 4, 8, 16, 32, 64, 128.

Downstream Channel ID

Value used to identify the downstream channel on which this message is
being transmitted.

DOCSIS defines four different allowable TLV parameters for the
channel.

Preambles are required in DOCSIS in order to help the receiver synchronize
properly (see Upstream Transmission). A Type 3 TLV parameter provides a
"super" preamble bit stream, from which actual preambles are chosen
(in the burst descriptor).

Burst Descriptors are unordered compound encodings of further TLV-encoded
quantities that may be used to define a number of physical-layer
characteristics. For further details of these, consult the DOCSIS
specifications.

Ranging

The ranging process was briefly described in Initialization. Cable modems
need to perform ranging during initialization and periodically during operation,
in order to ensure that power levels, carrier frequencies and clocks do not
drift out of alignment with the other CMs on the network. The mechanism for this
is the Ranging Request (RNG-REQ) and Ranging Response (RNG-RSP) pair of
messages.

The most difficult adjustment to understand concerns clock synchronization.
Because of the finite speed at which information flows in the cable network, it
is not trivial to maintain highly accurate clock synchronization.
11
Depending on the ratio of fiber to coax in the access network, as well as the
number and quality of the amplifiers, the speed at which information flows
between a modem and its CMTS is typically between 67% and 80% of the speed of
light in vacuo (which is approximately 186,000 miles per second or roughly 1
foot per nanosecond).

Since an access network may cover distances of several tens of miles, and
cable modems must cooperate in transmitting data within an accuracy of a few
miscroseconds, each modem must establish quite accurately its location within
the network. This makes it possible to time its transmissions so that they do
not collide with transmissions from other modems and so that they arrive at the
CMTS at the correct time.

The CMTS defines both the master time and the master location within the
network. All timing is performed on the basis of the 10.24 MHz clock located
within the CMTS. If the CMTS instructs a modem to transmit at a particular time
t, t references the arrival time of the information at the CMTS. In other
words, all time corrections must be performed by the individual modems on the
network. The CMTS itself makes no allowances for transmission delays.

Ranging Request (RNG-REQ)

Ranging Requests are transmitted by cable modems at initialization and thereafter
when requested to do so by the CMTS. Ranging requests are used to determine
the packet-delay time on the network between the CM and the CMTS, as well as
to ensure that the carrier frequency and power levels are within reasonable
limits. The format of an RNG-REQ is given in
Figure
3-18.

An Initialization SID, a Temporary SID, or a Registration SID if this is
an "Initial Maintenance" Request. If this is a "Station
Maintenance" request, then an Assigned SID.

The SID is transmitted in the lower 14 bits.

Downstream Channel ID

Identifier of the downstream channel on which the CM received the UCD
that provided the parameters for this upstream channel. This allows the CMTS to
know on which downstream channel the CM is listening for a response.

Pending Till Complete

Indicates whether all received Ranging Responses have been processed. If
zero, processing is complete; if non-zero then this field contains an estimate
of the amount of time needed (in hundredths of a second) by the CM to complete
processing of a received Ranging Response.

Ranging Response (RNG-RSP)

Unsurprisingly, Ranging Responses are transmitted to cable modems in response
to Ranging Request messages. However, they may also be transmitted at other
times, and a cable modem must be prepared to receive and process a Ranging Response
message at any time. (For example, a CMTS may notice that the transmissions
from a particular CM are in danger of exceeeding tolerable limits in regards
to power, frequency or time, and may choose to unilaterally transmit an RNG-RSP
rather than requesting a CM to perform an explicit ranging operation.) The format
of an RNG-RSP message is given in Figure
3-19.

Either an initialization SID, if this response is instructing the CM to
change channels, or the SID contained in the corresponding RNG-REQ, or the
temporary SID if the RNG-REQ was part of the initialization sequence.

Upstream Channel ID

Identifier of the channel on which the CMTS received the
RNG-REQ.

Ranging Status

Indicates whether the received messages from the CM are within tolerable
limits. (If they are not, the CM should perform ranging until they do fall
within the correct limits, or, if that does not happen after several attempts,
the modem should shut itself down and indicate a fault.)

Other values are TLV-encoded, according to Table 3-5. Note: The
decibel is a unit that measures the ratio of two power levels, P1 and
P2. P1 and P2 are separated by N db
where N = 10 log10(P2/P1). If
P2 is twice P1, then the signals are separated by almost
exactly 3 dB. If P2 is ten times P1, then the signals are
separated by precisely 10 dB.

Table 3-5TLV-Encoded Ranging Response Parameters

Adjustment

Type(1 octet)

Length (1 octet)

Meaning

Timing

1

4

Signed transmission timing offset; units of 6.25/64 microseconds (that
is, units of the number of ticks of the 10.24 MHz clock)

Power

2

1

Signed power offset; units of 1/4 dB

Frequency

3

2

Signed frequency offset, units of Hz

Equalization

4

n

Equalization data; see DOCSIS specifications for details.

Ranging Status

5

1

1 = continue; 2 = abort; 3 = success

Frequency Downstream

6

4

Center frequency of new downstream channel (Hz)

Upstream

7

1

ID of new upstream channel Channel ID

Upstream Bandwidth Allocation Map (MAP)

Upstream data may be transmitted in either contention minislots or noncontention
minislots. Generally, user dataespecially telephony dataare sent
in noncontention minislots. The CMTS periodically broadcasts Upstream Bandwidth
Allocation Map (MAP) messages, which describe the detailed allocation
of upcoming timeslots for each upstream channel. The format of a MAP message
is shown in Figure 3-20
and described below.

The measurement of time as used in MAP messages can be somewhat confusing.
MAP messsages measure time in units of minislots, using a 32-bit counter that
wraps silently at 2321. This is akin to the counter in the SYNC
messages broadcast by the CMTS, but the unit of time is different in the two
cases.

In the SYNC message, the unit is the number of ticks of the 10.24 MHz clock,
which ticks many times per minislot. The number of ticks per minislot is given
in the UCD message and is always a power of two. Time as measured in the MAP
message must agree with time as measured in the SYNC messages, except that the
latter is more accurate. The least-significant bits in the MAP message must
match the corresponding (more significant) bits in the SYNC message.

For example, if the time as measured in the SYNC message has the value 1234567890,
which corresponds to the bit pattern 01001001 10010110 00000010 11010010, and
if there are 128 ticks per minislot, then the corresponding time in the MAP
message must have the lowest 25 bits equal to 0 10010011 00101100 00000101.
See Figure 3-20.

Upstream Channel ID

Value used to identify the particular upstream channel to which this
message refers

UCD Count

Matches the value of the Configuration Change Count field of the UCD,
which contains the Burst Descriptor that applies to this map. This ensures that
any modem transmitting data according to this map will do so with the correct
physical parameters.

Number Elements

Number of information elements that appear in the map

Reserved

Used for alignment

Alloc Start Time

Effective start time, in minislots, of assignments within this
map

Ack Time

Latest time, in minislots, that was processed in the upstream direction
before this map was generated. That is, requests or other upstream signals from
cable modems timestamped with values subsequent to this time were unprocessed by
the CMTS when this map was generated.

Ranging Backoff Start

Initial backoff window, used for ranging contention, expressed as a power
of two. Possible values range from zero to 15.

Ranging Backoff End

Final backoff window, used for ranging contention, expressed as a power
of two. Possible values range from zero to 15.

Data Backoff Start

Initial backoff window, used for contention data and requests, expressed
as a power of two. Possible values range from zero to 15.

Data Backoff End

Final backoff window, used for contention data and requests, expressed as
a power of two. Possible values range from zero to 15.

MAP Information Elements

MAP Information Elements

When providing an upstream bandwidth allocation map, the CMTS uses
Information Elements (IEs) to encode the details of the allocation. For each
granted interval described in a MAP, the CMTS transmits a 32-bit quantity,
divided into three fields that encode the upstream SID, the precise time of the
minislots granted, and the use to which these minislots are to be put. For more
details, see the next section.