You are here

Maximum US speed with Docsis 1.1/2.0

Forums: 

Hi folks !

Little question, I am trying in my lab to measure the maximum upstream speed with Docsis 1.1/2.0 CM and CMTS and I am blocked with a maximum speed of about 2.5 Mbps independently what the CM vendor/model it is (tested with Motorola, Cisco/Scientific Atlanta, Technicolor/Thomson). Upstream has 3.2MHz bandwidth, and QAM16 modulation.

If I take a Docsis 3.0 CM with the same CMTS configuration, I have the same limitation.

With a Docsis 3.0 CM, I have to enable MTC mode (even on 1 upstream !) - keeping the same 3.2 MHz bandwidth and QAM16 modulation - to reach an acceptable speed of 8Mbps. I know that Docsis 3.0 implements a new upstream scheduler for MTC-enabled CMs, explaining why I can so easily reach this speed.

However, I would like to exceed the 2.5Mbps maximum speed for my CMs without needing to turn on MTC-mode on my production CMTS (I don't have more than one upstream per node, on current days).

Does someone here have some tips & tricks to share to reach a speed higher than 2.5Mbps with Docsis 1.1/2.0 CM and CMTS ? (CM configuration file ? Cisco CMTS configuration)

Thank you.
Bag'

For info on speeding the upstream, this doc is your friend.
"Understanding DOCSIS Data Throughput and How to Increase it"

If you google for it, you'll find it in several places on the net (including Cisco website), however this particular version of the doc below has some handy extra notes attached to the bottom http://www.bowe.id.au/michael/isp/DOCSIS/DOCSIS_Throughput.doc

I studied this doc pretty hard and worked out the keys to make any D2 run with very good upstream speed... :

Rate-adapt is a back-port of some DOCSIS 3.0 techniques. We tried it on our CMTS and yes it allowed faster speeds. However we ran into a few bugs with various D2 modems not handling these hacks properly. These problems were subsequently fixed by firmware updates from the modem manufacturers. But it's still a little scary to think there may be compatibility problems so in my opinion it's best to avoid rate-adapt if possible.

The good news is you don't need rate-adapt to get good upload speeds.

STEP 1 - TWEAK THE BURSTS
=========================

In your modem config file (or on the CMTS if you are using cable service class), set your US max-burst and US max-concat-burst to 4000

Also, if you are working on a lab CMTS then I would recommend you then add this :

int cable X/Y
! Allow config file to specify the max-burst
! Don't allow modems online that have max-burst set to 0
cable default-phy-burst 0

Or, if you are tinkering on a live CMTS I would suggest something like this instead :

int cable X/Y
! Override any config files that have max-burst set to 0
cable default-phy-burst 4000

STEP 2 - TWEAK THE MINISLOT SIZE
================================

Modify the CMTS config to increase the default minislot size.

Wile you are there :

* make sure you are using the widest upstream possible

* Use docsis-mode atdma if you have managed to phase out all your DOCSIS 1.x modems,
otherwise set docsis-mode to tdma-atdma (and work on getting rid of the old junk!)

example :

int cable X/Y

! for a nice clean upstream and D2 linecards use 6.4MHz width
cable upstream A channel-width 6400000 3200000
! and increase the default minislot size from 1 to 2
cable upstream A minislot-size 2
! use the default profile for your card (64QAM hopefully), in this case its 241 for MC28U
cable upstream A modulation-profile 241
! Here we are using mixed mode.
! Switch to atdma mode if you have no old DOCSIS 1.x modems
cable upstream A docsis-mode tdma-atdma

! for an upstream with some noise its safer to use 3.2MHz width width
cable upstream B channel-width 3200000 1600000
! and increase the default minislot size from 2 to 4
cable upstream B minislot-size 4
! use the default profile for your card (64QAM hopefully), in this case its 241 for MC28U
cable upstream B modulation-profile 241
! Here we are using mixed mode.
! Switch to atdma mode if you have no old DOCSIS 1.x modems
cable upstream B docsis-mode tdma-atdma

--
After setting the bursts to 4000, here's the overview of what speeds you can expect :

3.2width 16qam = aggregate 8.9Mbps available
with default minislot-size 2 = peak modem speed 5.6Mbps
we would tweak minislot-size to 4 = peak modem speed 7.6Mbps

3.2width 64qam = aggregate 13.3Mbps available
with default minislot-size 2 = peak modem speed 8.5Mbps
we would tweak minislot-size to 4 = peak modem speed 11Mbps

6.4width 16qam = aggregate 17.8Mbps available
with default minislot-size 1 = peak modem speed 5.7Mbps
we would tweak minislot-size to 2 = peak modem speed 11Mbps

6.4width 64qam = aggregate 26.7Mbps available
with default minislot-size 1 = peak modem speed 8.6Mbps
we would tweak minislot-size to 2 = peak modem speed 16Mbps

If you are feeling really keen, you can then enable rate-adapt in addition to above to boost things even further

--
Hope that helps!

Great info, mbowe. And how old is Downey's paper?

Poge

Thanks a lot for all these great info !

I'll try to fine tune my lab CMTS first and then test on the productive CMTSes.

Don't you think (or didn't you observe) any side effect with the "cable default-phy-burst 4000" or "cable upstream minislot size" commands ? More specifically don't real-time traffic (jitter-sensitive traffic) be excessively delayed on busy upstreams ?

Thanks and kind regards,
Bag'

Thank you.

I do get better upstream speed with your settings, but I stay limited to 3.6Mbps for 3.2 MHz bandwidth and 5.4Mbps for 6.4MHz bandwidth.

Do you activate aggregation and fragmentation in your Docsis CM configuration to reach your speeds ? Did you observe some bad side effects with these settings activated (some delay in VoIP for instance) ?

Anyway, thanks for your help. I observe a real progress !

No, I have seen no side effects. We have plenty of Arris EMTA on our CMTS, there is no jitter/delay problems.

Concatenation and fragmentation are on by default. You would only run into problems if fragmentation was turned off. Eg DOCSIS 1.0 modems can't do fragmentation. If you have any old junk like that on your network you need to work hard to get it swapped out.

Regarding the speeds, you should be able to achieve what I posted witout any difficulty. I have done it on ubr7246 and ubr10k. Modems such as Motorola 5100 / 5101 and Arris 4xx/5xx/6xx. You can increase the US burst even further then 4000 but I found no significant performance improvement. About 4000 seemed to be a good sweet spot.

Let me post you some config fragments, maybe that will help you spot something you might have overlooked :

==============
ubr10k example - we use 12.2(33)SCD6

cable service class 140 name OPEN-DS-BE-0
cable service class 140 downstream
cable service class 140 max-rate 0
cable service class 140 priority 0
cable service class 140 peak-rate 0

cable service class 190 name OPEN-US-BE-0
cable service class 190 upstream
cable service class 190 sched-type 2
cable service class 190 max-concat-burst 10000
cable service class 190 max-rate 0
cable service class 190 max-burst 10000
cable service class 190 priority 0

cable spectrum-group 1 band 20000000 42000000

int cable 5/0/0
! downstream stuff snipped
cable spectrum-group 1
cable default-phy-burst 0
cable map-advance dynamic 300 1000
cable upstream 0 connector 0
cable upstream 0 channel-width 6400000 3200000
cable upstream 0 docsis-mode atdma
cable upstream 0 minislot-size 2
cable upstream 0 range-backoff 3 6
! 221 is the default 64QAM profile, 223 is a 16QAM one I created
cable upstream 0 modulation-profile 221 223
cable upstream 0 equalization-coefficient
no cable upstream 0 shutdown

==============
7246 example - we use 12.3(23)BC

cable service class 140 name OPEN-DS-BE-0
cable service class 140 downstream
cable service class 140 max-rate 0
cable service class 140 priority 0

cable service class 190 name OPEN-US-BE-0
cable service class 190 upstream
cable service class 190 sched-type 2
cable service class 190 max-concat-burst 4000
cable service class 190 max-rate 0
cable service class 190 max-burst 4000
cable service class 190 priority 0

cable spectrum-group 1 band 20000000 42000000

interface Cable6/0
! downstream stuff snipped
cable default-phy-burst 4000
cable upstream 0 connector 0
cable upstream 0 spectrum-group 1
cable upstream 0 ingress-noise-cancellation 10
cable upstream 0 docsis-mode atdma
cable upstream 0 channel-width 6400000 3200000
cable upstream 0 minislot-size 2
cable upstream 0 power-level 0
cable upstream 0 range-backoff 3 6
cable upstream 0 modulation-profile 241
! 241 is the default 64QAM profile
no cable upstream 0 rate-limit
cable upstream 0 equalization-coefficient
no cable upstream 0 shutdown

==============
config file

Main
{
NetworkAccess 1;
MaxCPE 3;
GlobalPrivacyEnable 1;
BaselinePrivacy
{
AuthTimeout 10;
ReAuthTimeout 10;
AuthGraceTime 600;
OperTimeout 10;
ReKeyTimeout 10;
TEKGraceTime 600;
AuthRejectTimeout 60;
SAMapWaitTimeout 1;
SAMapMaxRetries 4;
}
DsServiceFlow
{
DsServiceFlowRef 1;
ServiceClassName "OPEN-DS-BE-0";
QosParamSetType 7;
}
UsServiceFlow
{
UsServiceFlowRef 2;
ServiceClassName "OPEN-US-BE-0";
QosParamSetType 7;
}
! snipped the rest

Hi all,

Regarding to what mbowe said, according to our tests the best numbers for the burst are:

Upstream: 11000
Downstream: 192000

Regards,

docsis