Home > Articles > Networking

  • Print
  • + Share This

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.

Figure 3-2 DOCSIS Protocol Layers

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.

Figure 3-3 Sine Wave

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.

Figure 3-4 Modulating a Carrier

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.

Figure 3-5 Representation of the ASCII Character "A" in Digital AM

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.

Figure 3-6 Representation of the ASCII Character "A" in Digital PSK

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).

Figure 3-7 QPSK Constellation Diagram

Naturally, both the transmitter and the receiver must agree on the meaning of each symbol. DOCSIS mandates the symbol mapping shown in Figure 3-8, where the I-channel bit precedes the Q-channel bit.

Figure 3-8 DOCSIS QPSK Symbol Mapping (I, Q)

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.

Figure 3-9 Constellation Diagram for Two-Amplitude Quadrature PSK (16-QAM)

The total number of different symbols in this system, N, is given by:

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.

Figure 3-10 16-QAM DOCSIS Symbol Mapping (I1, Q1, I0, Q0)

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.

Figure 3-11 16-QAM DOCSIS Differential Symbol Mapping (I1, Q1, I0, Q0)

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

00

01

00

00

00

10

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.

Figure 3-12 Upstream Data Flow Through a Cable Modem

  1. Data to be transmitted

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

  3. Block the data

  4. The data are divided into smaller units called Information Blocks.

  5. Apply optional FEC

  6. 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.

  7. Scramble

  8. 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.)

  9. Preamble prepend

  10. 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.

  11. Symbol map

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

  13. Filter

  14. 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.

  15. Modulate

  16. 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.

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

  2. 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.

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

  4. 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.

  5. 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.

Figure 3-13 Relationship Between MAC Layer and PMD Layer

MAC Header Format

DOCSIS MAC headers have the format shown in Figure 3-14. The Extended Header field, EHDR, is optional. (The DOCSIS security mechanism, Baseline Privacy Interface Plus, requires this field. For details, see the section "BPI 1 MAC Extended Header".)

Figure 3-14 DOCSIS MAC Header Format

The fields in the MAC header are as follows.

  • FC

  • Frame Control; an octet that identifies the type of the header. The octet is broken down as follows.

  • FC TYPE

  • 2 bits used to define the type of the rest of the packet

  • FC PARM

  • 5 bits set to 0; other values are reserved for future use and are currently ignored

  • EHDR_ON

  • 1 bit, set to 1 if an Extended Header field is present; otherwise set to 0

  • MAC_PARM

  • Parameters; an octet whose meaning depends on FC

  • If EHDR_ON is 1, then MAC_PARM contains the length of the EHDR field.

  • Else, if this is part of a concatenated frame, contains the MAC frame count.

  • Else indicates the number of minislots requested.

  • LEN (SID9)

  • Length of the MAC frame, or the SID; 2 octets

  • 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.

Figure 3-15 DOCSIS MAC Packet PDU Format

The octets of user data are embedded in the PDU, following 14 octets of routing information and preceding 4 octets of CRC checking, as follows.

  • DA

  • Destination Address. A 48-bit (6-octet) destination address that identifies the intended recipient.

  • SA

  • 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".

Figure 3-16 Format of MAC Management Messages

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.

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

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

  3. 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.

Figure 3-17 Upstream Channel Descriptor

The non-TLV-encoded fields are interpreted as follows.

  • Upstream Channel ID

  • 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.

  • Symbol Rate

  • Type = 1; Length = 1. Gives the symbol rate, in units of the base rate of 160 kilosymbols per second. Allowable values are: 1, 2, 4, 8, 16.

  • Frequency

  • Type = 2; Length = 4. Gives the carrier frequency of the upstream channel, in Hertz.

  • Preamble Pattern

  • Type = 3; Length = 1 to 128. Preamble superstring. See below.

  • Burst Descriptor

  • Type = 4; Length = total length of descriptor.

The last two of these require further explanation.

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.

Figure 3-18 Format of a CM Ranging Request (RNG-REQ) Message

  • SID

  • 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.

Figure 3-19 Format of a CMTS Ranging Response (RNG-RSP) Message

  • SID

  • 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.

Figure 3-20 DOCSIS MAP Message Format

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.

  • + Share This
  • 🔖 Save To Your Account

Related Resources

There are currently no related titles. Please check back later.