Hey all,
Looking for best practices in modem config files. I have a couple of questions.
I want to play with the following ds/us rates and their max traffic burst. What percentage is max traffic burst typically over sustained and does anyone have an easy to understand explanation for it?
50 downstream
MaxRateSustained 50000000;
MaxTrafficBurst 8092000;
5 upstream
MaxRateSustained 5300000;
MaxTrafficBurst 4096000;
what would 100/10, 200/20, and maybe even a testing one 300/50 look like with sustained versus burst?
Here is our current 50-5 plan. Getting modem config files out of people is like pulling teeth, like they are NDA material or something. IS there a config section I am missing? Timing?
Main
{
NetworkAccess 1;
MaxCPE 5;
GlobalPrivacyEnable 1;
UsServiceFlow
{
UsServiceFlowRef 1;
QosParamSetType 7;
TrafficPriority 1;
MaxRateSustained 5000000;
MaxTrafficBurst 4096000;
MinReservedRate 0;
MinResPacketSize 0;
ActQosParamsTimeout 0;
AdmQosParamsTimeout 0;
SchedulingType 2;
MaxConcatenatedBurst 1522;
RequestOrTxPolicy 0x00000064;
}
DsServiceFlow
{
DsServiceFlowRef 2;
QosParamSetType 7;
TrafficPriority 1;
MaxRateSustained 50000000;
MaxTrafficBurst 8092000;
MinReservedRate 0;
ActQosParamsTimeout 0;
AdmQosParamsTimeout 0;
}
BaselinePrivacy
{
AuthTimeout 10;
ReAuthTimeout 10;
AuthGraceTime 600;
OperTimeout 10;
ReKeyTimeout 10;
TEKGraceTime 600;
AuthRejectTimeout 60;
SAMapWaitTimeout 1;
SAMapMaxRetries 4;
}
SnmpMibObject docsDevNmAccessIp.1 IPAddress 0.0.0.0 ;
SnmpMibObject docsDevNmAccessIpMask.1 IPAddress 0.0.0.0 ;
SnmpMibObject docsDevNmAccessCommunity.1 String "public" ;
SnmpMibObject docsDevNmAccessControl.1 Integer 2; /* read */
SnmpMibObject docsDevNmAccessStatus.1 Integer 4; /* createAndGo */
SnmpMibObject docsDevNmAccessIp.2 IPAddress 0.0.0.0 ;
SnmpMibObject docsDevNmAccessIpMask.2 IPAddress 0.0.0.0 ;
SnmpMibObject docsDevNmAccessCommunity.2 String "private" ;
SnmpMibObject docsDevNmAccessControl.2 Integer 3; /* readWrite */
SnmpMibObject docsDevNmAccessStatus.2 Integer 4; /* createAndGo */
/* CmMic 60a53d986ff0c5b073c313f371c4e7b8; */
/* CmtsMic 733d3d198948e36479012d6d210d5fd3; */
/*EndOfDataMkr*/
/* Pad */
}
Modems are giving this message in logs
Event: 2/27/2021 9:27:52 - DHCP RENEW WARNING - Field invalid in response v4 option;CM-MAC=84:61:a0:7c:e9:0b;CMTS-MAC=00:12:43:a9:87:7a;CM-QOS=1.1;CM-VER=3.0;
any idea what field i am missing?
Your example :
* MaxSustained 50,000,000 = 50Mbit/sec = 6.25MB/sec
* MaxTrafficBurst 8,092,000 = 8MB
* Peak rate not specified = full line rate
If someone with those settings downloads a big file :
* the first 8MB of the download will go at line rate (eg up to 300Mbps on a 8x4 modem, up to 600Mbps on a 16x4 modem)
* the remainder of the download will go at 50Mbps
----
Upload works exactly the same.
----
If you want it to be more predictable, not let people burst to full rate, you should cap the peak rate eg
* MaxSustained 50,000,000 = 50Mbit/sec = 6.25MB/sec
* MaxTrafficBurst 8,092,000 = 8MB
* PeakRate 100,000,000 = 100Mbit/sec = 12.5MB/sec
If someone with those settings downloads a big file :
* the first 8MB of the download will go at 100Mbps (8MB @ 12.5MB/sec = 0.64 seconds duration of boost)
* the remainder of the download will go at 50Mbps
Such settings might be appropriate, but in some cases you might want a longer burst.
If you wanted the 100Mbps to go for 10 seconds, you would set the max-burst to peak-rate(bits) / 8 (convert to bytes) * 10(seconds) = 125,000,000 (125MB).
---
Or another example you might have a VOD (video on demand) server.
In cm config file, setup a classifier which matches this server's IP
This classifier applies a DS service flow which has a generous burst eg
max-rate 4,000,000 (4Mbps)
max-burst 200,000,000 (200MB)
peak-rate 100,000,000 (100Mbps)
This allows the first 200MB to come down at 100Mbps (so the user doesnt have to sit around waiting for the video to buffer) and then revert to 4Mbps after that. Set the 4Mbps rate to some value slightly larger than the codec rate of your video
Thanks, awesome explanation. That makes way more sense.
Is PeakRate a newer command.. my old linux docsis compiler won't accept it..
The linux docsis compiler calls them :
MaxRateSustained
MaxTrafficBurst
DownstreamPeakTrafficRate / UpstreamPeakTrafficRate
or if you are doing it via cable service classes on the cmts (I recommend this method) the names on CMTS are :
max-rate
max-burst
peak-rate
(see here for an example https://www.docsis.org/comment/5282#comment-5282)
These won't compile DownstreamPeakTrafficRate / UpstreamPeakTrafficRate
I'm trying to do a test using the CMTS. Stumbled across your management service flows which I am implementing, far to much dropped snmp traffic from the modems :)
Maybe you need to get newer version
https://github.com/rlaager/docsis
Or do it via the CMTS instead
Just a curiosity if you change the max-rate on the cmts service flow do the modems immediately go to the new rate without a reboot? So you could trial a weekend at a higher speed and see 1) if anybody notices) and 2) if there is an overall uptick in traffic?
Changes don't take effect until next time the modem comes online
We used to have speed tiers like 25 / 50 / 100 down
One day management decided we would remove the tiers, let everyone go at full line rate
I was skeptical, thinking this would result in a lot more traffic and the network might melt down
However overall the traffic didnt really increase much
People doing a download will complete it in less time, and get off the network leaving capacity available for the for next person
Win for everyone. Customers happier, and no real impact to us.
To mitigate the handful of people who flog the network (particularly on the upstream, capacity is more scarce), we use Cisco Subscriber Traffic Management.
Or if you dont want to fully open the taps (max-rate 0), you could use peak-rate plus some nice big max-burst to ensure interactive browsing etc is fast, but sustained bulk transfer is pulled down to a reasonable level
Ya we still need some tiering, we have a really inexpensive basic plan.
That´s indeed a bold move.
I wonder how you are doing your forecast for capacity. What is your trigger for down/up expansions?
If you can share the % of increase for down/up, that will be nice.
Here we are not allowed to CAP the heavy users, it is prohibited by law. So leaving the tiers with unlimited speed brings a potential risk. But it is nice to know how it is working for you.
Regards,
MS