DOCSIS - 3. Architecture - Protocols
3.5 Frame Formats
3.5.1 DOCSIS MAC Header
Within the DOCSIS system the MAC frame is the standard ?transfer unit? between the Cable Modem and the CMTS, the same frame is used for both upstream and downstream communications. MAC frames can be variable in length. The first part of the MAC frame is the MAC header, this header identifies the contents of the Data filed.
|
Frame Control (8 bits) |
MAC Parameter (8 bits) |
|
Length |
|
|
Extended Header (0-240 bytes) ? |
|
|
Header Check Sequence |
|
|
Data |
|
-
Frame Control FC (8 bits)
Identifies type of MAC Header, split into 3 parts:- FC Control Type field (2 bits)
00: Packet PDU MAC Header
01: ATM PDU MAC Header
10: Reserved PDU MAC Header
11: MAC Specific Header - FC Parameter Field (5 bits)
- Extended Header Toggle (1 bit)
When = 1, indicates that EHDR field is present. And the length of the EHDR would be determined in the MAC Parameter Field.
Parameter bits, use dependent on FC Type. - FC Control Type field (2 bits)
-
MAC Parameter (8 bits)
Parameter field whose use is dependent on FC:
if EHDR_ON=1; used for EHDR field length (ELEN) else if for concatenated frames (see Table 6-9) used for MAC frame count else (for Requests only) indicates the number of mini-slots and/or ATM cells requested -
Length (16 bits)
The length of the MAC frame. The length is defined to be the sum of the number of bytes in the extended header (if present) and the number of bytes following the HCS field. (For a REQ Header, this field is the Service ID instead) -
Extended MAC Header EHDR (optional; variable size 0-240 bytes)
The Extended Header (EHDR) field provides extensions to the MAC frame format. It is used to implement datalink security and can be extended to add support for additional functions in future releases. Initial implementations SHOULD pass this field to the processor. This will allow future software upgrades to take advantage of this capability. (Refer to Section 6.2.6, ?Extended MAC Headers? for details.) -
Header Check Sequence (2 bytes)
The HCS field is a 16-bit CRC that ensures the integrity of the MAC Header, even in a collision environment. The HCS field coverage MUST include the entire MAC Header, starting with the FC field and including any EHDR field that may be present.
[DOCSIS03]
MAC frames may contain Internet data, control
messages or signalling. The way in which these Frames are transported to and
from the Cable Modem differs, frame formats can be divided into two types;
MPEG-2 packets, used in downstream direction only and PMD (Physical Media
Dependent) packets used for upstream and signalling.
The upstream transmission is done at a different frequency than the downstream
data, these frequencies are learnt in the learning stages described above in the
[Management Section] and also transmitted using different modulation techniques
(FDMA, QPSK, TDMA, QAM). Because of this frequency sharing mechanism, it is
possible for the Cable Modem to use a single cable to transmit and receive
simultaneously.
For example:
-
Downstream ? 88 - 860 MHz using QAM
-
Upstream ? 5 ? 42 MHz using QPSK
3.5.2 Downstream Frames
As mentioned above [3.4 Encapsulation], the MPEG-2 transport layer which is present in the downstream flow only, is used to provide a common platform for the transfer of video and data over the Cable Modem network. IP packets are transferred in continuous 188 byte MPEG-2 packets containing the following header information:
|
Sync Byte (8 bits) |
||||
|
T Error |
Payload (1 bit) |
Priority (1 bit) |
PID (first 4 bits) |
|
|
PID |
||||
|
Scrambling (2 bits) |
Adaptation (2 bits) |
Continuity Counter (4 bits) |
||
|
Pointer |
||||
|
Data |
||||
-
MPEG header (4 bytes)
Identifies packets carrying Data Over Cable, Broken down the MPEG-2 Header Contains: -
- Sync Byte (8 bits)
0x47; MPEG Packet Sync byte - Transport Error Indicator (1 bit)
Indicates an error has occurred in the reception of the packet. This bit is reset to zero by the sender, and set to one whenever an error occurs in transmission of the packet - Payload Start Indicator (1 bit)
A value of one indicates the presence of a Pointer field as the first byte of the payload (fifth byte of the packet) - Transport Priority (1 bit)
Reserved, set to 0 - PID (13 bits)
This is the PID value [see 3.3 Management] and would ordinarily contain the 0x1FFE string, to ensure that both the Cable Modem and CMTS know it holds data and not video. - Transport Scrambling Control (2 bits)
Reserved, set to 00 - Adaptation Field Control (2 bits)
Use of the Adaptation Field is NOT ALLOWED in a DOCSIS PID, set to 01 - Continuity Counter (4 bits)
Counter for packets within the PID
- Sync Byte (8 bits)
-
Pointer (1 byte)
Used for MAC messages that extend over multiple MPEG frames. (Unused pointer locations are filled with data). -
The data payload is 183 bytes long (184 without the pointer)
If the data does not need the entire payload capacity, padding bytes of binary 1?s are used to fill the packet to make it a total of 188 including headers. [CABLELABS]
These MPEG-2 packets are continuously sent
even if there is no data to send, this is done so that the stream is kept in
synchronization.
The data being sent downstream may have been corrupted and may contain errors,
instead of asking for a retransmission, a special mechanism is used to correct
errors. This mechanism, known as a Forward Error Correction (FEC) code is the
last 16 bytes of the frame, [see 2.6 Error Control]
The payload portion takes the Ethernet frame and breaks it into segments of 184
bytes. Some bits in the header identify the payload as being the start of the
Ethernet frame, in the middle of the Ethernet frame, or the end of the Ethernet
frame.
MAC frames may begin anywhere within an MPEG packet, MAC frames may span many
MPEG packets, and several MAC frames may exist within an MPEG packet.
3.5.3 Upstream Frames
Upstream flow is transported as units also known as PMD (Physical Media-Dependent) packets, these are measured in terms of time instead of bytes and each unit is 6.25 microseconds long and each unit is known as a mini-slot. The amount of data transferred in each mini-slot can be variable as it is depended on the upstream speed. In order for a Cable Modem to transmit data, it must request with the CMTS enough mini-slots to send the packet; again the number of mini-slots needed is dependent on upstream speed.
|
Unique Word |
ATM Header |
Data |
-
Unique Word (16 bit)
Since the upstream data is just a short burst of data, the demodulator needs something to trigger on. That is the unique word, that is appended to the beginning of the data. -
ATM Header
Header used for Transport within the ATM network.
A cable modem may have a Data Packet to
transmit to the CMTS, it would request from the CMTS the number of mini-slots
needed to transfer the whole packet.
It is the job of the CMTS to decide on what data is to be sent downstream and to
decide when to give a Cable Modem permission to transmit and how much data the
Cable Modem should transmit. Because the CMTS has such complete control of the
system, it can accurately schedule the delivery of data. [IEEE802]
3.5.4 Frame Life
Below is the breakdown of data for both upstream and downstream data. User data is first broken down into TCP/IP packets and then put in an Ethernet frame, this Ethernet frame has the DOSCIS header appended to it.
Depending on direction of stream the DOCSIS MAC frame is broken down in two different ways:
For downstream DOCSIS MAC frame is broken down into 183 Byte packet chunks and encapsulated in MPEG-2 Packets. For upstream the DOCSIS MAC frame is broken down into 6.25 microsecond packet chunks. If any packets are not full they are filled with binary 1?s to make the packet its full size.