Hello everbody , I am new at cable technology , I hope someone can help me with this , what the difference is between classifiers , service classes and scheduling types , where each of these three elements are defined , in the CMTS or in the configuration file , where the maximun and minimun data rate area defined ? ... I will very much aprecciate any response , thank you in advanced!.
first of all welcome to the crazy Cable world :D
I will attempt to answer these questions: with some qualifications these terms are all docsis 1.1 or greater so we will use that as our starting point. And cmts info applies to cisco UBRs may not work on other brands.
1. what the difference is between classifiers , service classes and scheduling types
First by service classes I assume you mean service flows,
in a cable modem config file you define Service flows which control, priority, bandwidth, scheduling type (for upstream) and a few other parameters. a CM config file can have multiple service flows both upstream and downstream. Optionally you can use classifiers to identify what particular type of data uses which flow. For example say you want your voice traffic to have a higher priority you would create two service flows one for regular data first, then one for voice data. then you would create a classifier that identified the voice data by port or dest ip etc.. and tell the modem to use your voice service flow to do this.
There is an open source program called docsis which can encode/decode CM configs here is a decode of CM config with multiple service flows sanitized and annotated
Main
{
NetworkAccess 1; /* Allows Cable modem Network Access */
MaxCPE 1 /* How many devices are allowed behind the cable modem*/;
GlobalPrivacyEnable 1; /* Turn on baseline privacy (encrypts all traffic)*/
BaselinePrivacy
{
AuthTimeout 10;
ReAuthTimeout 10;
AuthGraceTime 600;
OperTimeout 10;
ReKeyTimeout 10;
TEKGraceTime 600;
AuthRejectTimeout 60;
SAMapWaitTimeout 1;
SAMapMaxRetries 4;
}
/*Upstream Service flow*/
UsServiceFlow
{
UsServiceFlowRef 1; /* Service flow ID*/
QosParamSetType 7;
TrafficPriority 1; /* priority 1-7 7 being fastest */
MaxRateSustained 256000; /* This is max bandwidth setting*/
SchedulingType 2; /*Upstream flows only determines type of scheduling for upstream*/
RequestOrTxPolicy 0x0000008a;
}
UsServiceFlow
{
UsServiceFlowRef 2;
QosParamSetType 7;
TrafficPriority 7;
MaxRateSustained 256000;
SchedulingType 2;
RequestOrTxPolicy 0x0000008a;
}
UsPacketClass
{
ClassifierRef 2; /* Classifier Id */
ServiceFlowRef 2; /* Which service flow to use */
IpPacketClassifier /* this classifier matches on destination network or in this case IP */
{
IpDstAddr 192.168.68.4;
IpProto 257; /* 1 = ICMP, 6= TCP 11=UDP 257= ANY*/
IpDstMask 255.255.255.255;
}
ActivationState 1;
}
DsServiceFlow
{
DsServiceFlowRef 101;
QosParamSetType 7;
TrafficPriority 1;
MaxRateSustained 256000;
}
DsServiceFlow
{
DsServiceFlowRef 102;
QosParamSetType 7;
TrafficPriority 7;
MaxRateSustained 256000;
}
DsPacketClass
{
ClassifierRef 102;
ServiceFlowRef 102;
RulePriority 1;
ActivationState 1;
IpPacketClassifier
{
IpProto 257;
IpSrcAddr 192.168.68.4;
IpSrcMask 255.255.255.255;
}
}
/* CmMic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; */
/* CmtsMic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; */
/*EndOfDataMkr*/
}
2. where each of these three elements are defined , in the CMTS or in the configuration file
Classifiers can only be defined in a CM config file. service flows must be defined in a config file, however you can assign the parameters (bandwidth, priority etc...) of a service flow at the cmts, this way if you need to change service levels you can do it without rebooting the modems. However, this is a lot more complicated to set up I would try it the other way first so you get the principle of how things work. Defining the service flows on the CMTS can be done by using the service-class directive there is a post on these boards on how to use it.
3. where the maximun and minimun data rate area defined
They are defined in the service flow either in the CM config file or at the CMTS
As far creating the configs the docsis project at sourceforge (free) works great but it is a commandline tool. Cisco has java/gui called docsisconfig (free with cisco login). and if your an Arris Customer they have a great Gui called packetace (free if you have a service contract with them) but not as useful for non-arris modems.
thank you kwesibrunee