3000 Old Alabama Road Suite 119-434, Alpharetta, GA 30022-8555404-424-8202info@volpefirm.com

DOCSIS and Cable Modems – How it works :: UCD

Post 168 of 178
DOCSIS Upstream Channel Descriptor - UCD

Just as a picture is worth a thousand words, so is a complete DOCSIS Upstream Channel Descriptor (UCD) as seen by a cable modem.  The UCD message, sent every two seconds by the CMTS, contains an enormous amount of valuable information that every cable modem on a DOCSIS network needs to know in order to communicate.  Often undervalued, the DOCSIS Upstream Channel Descriptor is a virtual Hitchhiker's Guide to the DOCSIS network!  There is no better way to get acquainted with the UCD than to actually see what one looks like.  To do this we will look at one that is captured off a DOCSIS network using a DOCSIS protocol analyzer.  So here is a full DOCSIS Upstream Channel Descriptor (UCD) for you to look at.


Downstream MAC type = UCD
MAC FC (HEX) = C2
MAC PARM/EHDR length (HEX) = 00
MAC LEN (HEX) = 016A
MAC HCS (HEX) = F52B
PDU bytes = 362
PDU DA (HEX) = 01E02F000001
PDU SA (HEX) = 0000CA240217
PDU Type/Len (HEX)= 0158
MMH Version (HEX)= 01
MMH Type (HEX)= 02
-------------------------------------
MMM Type: UCD
Upstream Channel ID (HEX) = 01
Config. Change Count = 3
Mini-Slot Size = 64
Downstream Channel ID (HEX) = 0B
Symbol Rate = 1 (160000 symbols/sec)
Upstream Frequency = 26750000 Hz
Preamble Pattern =
CC CC CC CC CC CC CC CC CC CC CC CC CC CC 0D 0D
A9 17 D9 C3 52 2F B3 86 A4 5F 67 0D 48 BE CE 1A
91 7D 9C 35 22 FB 38 6A 45 F6 70 D4 8B EC E1 A9
17 D9 C3 52 2F B3 86 A4 5F 67 0D 48 BE CE 1A 91
F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3
F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 33 F7 33 F7
88 84 04 4C C4 84 C0 0C 44 08 08 CC 8C 0C 80 48
88 40 44 CC 48 4C 00 C4 40 80 8C C8 C0 C8 04 88

Burst Descriptor = Request
IUC = 1
Modulation Type = 16QAM
Differential Encoding = OFF
Preamble Length = 128 bits
Preamble Offset = 624 bits
Preamble = F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 33 F7
FEC Correction = OFF
FEC Codeword = 16
Scrambler Seed (HEX) = 0152
Max Burst Size = 0
Guard Time Size = 8
Last Codeword Length = Fixed
Scrambler = ON
Burst Descriptor = Initial Maintenance
IUC = 3
Modulation Type = QPSK
Differential Encoding = OFF
Preamble Length = 128 bits
Preamble Offset = 0 bits
Preamble = CC CC CC CC CC CC CC CC CC CC CC CC CC CC 0D 0D
FEC Correction = 5
FEC Codeword = 34
Scrambler Seed (HEX) = 0152
Max Burst Size = 0
Guard Time Size = 48
Last Codeword Length = Fixed
Scrambler = ON
Burst Descriptor = Station Maintenance
IUC = 4
Modulation Type = QPSK
Differential Encoding = OFF
Preamble Length = 128 bits
Preamble Offset = 0 bits
Preamble = CC CC CC CC CC CC CC CC CC CC CC CC CC CC 0D 0D
FEC Correction = OFF
FEC Codeword = 16
Scrambler Seed (HEX) = 0152
Max Burst Size = 0
Guard Time Size = 48
Last Codeword Length = Fixed
Scrambler = ON
Burst Descriptor = Short Data Grant
IUC = 5
Modulation Type = 16QAM
Differential Encoding = OFF
Preamble Length = 144 bits
Preamble Offset = 608 bits
Preamble = F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 33 F7
FEC Correction = 1
FEC Codeword = 16
Scrambler Seed (HEX) = 0152
Max Burst Size = 5
Guard Time Size = 8
Last Codeword Length = Shortened
Scrambler = ON
Burst Descriptor = Long Data Grant
IUC = 6
Modulation Type = 16QAM
Differential Encoding = OFF
Preamble Length = 160 bits
Preamble Offset = 592 bits
Preamble = F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 F3 33 F7
FEC Correction = 1
FEC Codeword = 20
Scrambler Seed (HEX) = 0152
Max Burst Size = 0
Guard Time Size = 8
Last Codeword Length = Shortened
Scrambler = ON
-------------------------------------

WOW!  It's surprising just how much information is contained in a UCD.  There is one UCD sent every two (2) seconds on the downstream channel for each upstream channel on a CMTS line card, so a 1x8 line card is sending eight (8) UCDs every two (2) seconds because each upstream can be configured differently.  One more thing, the UCD I provided above is for a DOCSIS 1.x configuration, which is much simpler than a DOCSIS 2.0 or DOCSIS 3.0 UCD.  DOCSIS 2.0 and 3.0 UCDs contain information on S-CDMA, A-TDMA, logical channels and even bonded channels.  We can save that for another blog.  Let's start simple first.

Upstream Channel Descriptor - UCD Details

In the UCD above, the first item of real interest is the PDU DA or essentially the Destination MAC Address of this particular message, which is 01E02F000001.  This MAC address is defined in the DOCSIS specification Annexes where it states "The following multicast address MUST be used to address the set of all CM MAC sublayers; for example, when transmitting Allocation Map PDUs:" and then lists the above MAC address.  So if you happen to read any of the DOCSIS specifications, pay particular attention to the Annexes as they contain very valuable information and it took me quite some time to realize the origin of this MAC address!  The PDU SA is of course the Source MAC Address of the CMTS itself and will change from CMTS line card to line card.

The Upstream Channel ID indicates which channel this particular UCD correlates to with respect to a physical upstream RF port on the CMTS line card.  Some CMTS vendors start numbering ports at zero (0) and increment up on each card, resetting to zero (0) 0n the next card while other vendors allow unique numbering for each upstream port based upon slot location.

Symbol Rate = 1 (160000 symbols/sec)
Upstream Frequency = 26750000 Hz

Symbol Rate and Upstream Frequency (discussed in this blog) are globally defined in the UCD header for all burst profiles.  In this case, the symbol rate is 160 ksym/sec and the center frequency of the upstream DOCSIS channel is 26.75 MHz.

The Preamble Pattern (next in the UCD) is a string of HEX symbols.  This represents the entire preamble that "could" be used by a cable modem.  What actually happens is that only sections of the preamble are used for different bursts (IUCs) as defined by the "Preamble Length" and "Preamble Offset" listed under each IUC type.  The corresponding preamble that is used as defined by the preamble length and offset is shown in each burst descriptor section.   At the beginning of each IUC type is the Burst Descriptor name.  For this UCD, the available types of bursts are:

  • Request (IUC=1): This is the message sent by the cable modem when it has IP data to transmit.
  • Initial Maintenance (IUC=3):  These are the Range Requests sent by a cable modem to the CMTS in a contention window when a cable modem firsts starts to "range" with a CMTS (i.e. when a cable modem first registers).
  • Station Maintenance (IUC=4):  Once cable modems are online they send a Range Request message at least once every 30 seconds (per the DOCSIS specificaton) using the Station Maintenance burst descriptor.  This allows the CMTS to send a Range Response message which will make any adjustments to the modem's frequency, timing, power, and equalization as necessary (Note T3 and T4 timeout are associated with this process - to be covered later under a troubleshooting blog).
  • Short Data Grant (IUC=5):  The short data grant contains user data of small packet sizes, defined by the CMTS, typically 128 bytes or less.
  • Long Data Grant (IUC=6):  The long data grant contains user data of large packet sizes, also defined by the CMTS and is typically larger than 128 bytes.

Under each Burst Descriptor you will notice that a Modulation Type is defined.  In this example, either QPSK or 16-QAM is used.  The usage of more than one modulation type in a UCD message is called a "mixed-mode" profile.  Essentially, the cable modem transmits QPSK for some data and 16-QAM for other data as defined by the burst descriptors.

Other parameters defined in the UCD include Differential Encoding toggle bit, FEC parameters, Scrambler seed, Max Burst Size, Guard Time Size, Last Codeword Length, and the Scrambler toggle On/Off switch.  I will not go into the details of these parameters at this time as they go very far into the nuts and bolts of CMTS configuration as well DOCSIS optimization.  This will be saved for a blog of its own.

Take some time first to really understand the UCD.  It is a message of enourmous importance and will really help you understand how a cable modem can transmit different modulations for different messages.  I will be building on this fundamental concept on many future blogs.

Mr. Volpe has over 25 years of communications industry experience. He is focused on the cable and telecom industry with deep technical and business skills. Mr. Volpe is currently the president and chief technologist of the Volpe Firm and holds an MSEE with honors.

Twitter LinkedIn Google+ 

, , , , , , , , , , , ,

Menu