Internet Draft
Internet Engineering Task Force Parasuram Ranganathan
Internet-Draft Deepak Sreenivasamurthy
Joseph Evans
Expires June 1999 ITTC, University of Kansas
Arvind Kaushal
Sprint Corporation
December 1998
A framework for QoS support for open control
<draft-ranganathan-gsmp-qos-framework-00.txt>
Status of this Memo
This document is an Internet-Draft. Internet Drafts are
working documents of the Internet Engineering Task Force
(IETF), its areas, and its working Groups. Note that other
groups may also distribute working documents as Internet
Drafts.
Internet-Drafts draft documents are valid for a maximum of
six months and may be updated, replaced, or obsolete by
other documents at any time. It is inappropriate to use
Internet-Drafts as reference material or to cite them other
than as "work in progress."
To view the entire list of current Internet-Drafts, please
check the "1id-abstracts.txt" listing contained in the
Internet-Drafts Shadow Directories on ftp.is.co.za (Africa),
ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern
Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East
Coast), or ftp.isi.edu (US West Coast).
Distribution of this memo is unlimited.
Abstract
This memo specifies a framework for developing a service type
based QoS message class for open control of network elements.
The proposed framework supports the use of alternative control
interfaces for controlling the network elements. The framework is
applied to ATM Forum services, Integrated Services (intserv) and
Differentiated Services (diffserv) to depict the feasibility of
the approach.
Ranganathan, et. al. Expires: June 1999 [Page 1]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
Table of Contents
Status of this Memo 1
Abstract 1
1. Introduction 2
2. Framework for QoS support 3
2.1 Extension to Connection Management messages 3
2.1.1 Service Type Failure 4
2.2 QoS Configuration Messages 4
2.2.1 QoS Failures 6
3. Interface support for non-standard/experimental services 6
3.1 Specifying a general parameter set 6
3.2 Interface for functional units in a network element 7
4. The Control Information Base (CIB) 9
4.1 Structure of CIB definitions 9
4.2 Sample CIB Definitions 10
4.2.1 intserv Controlled Load Service CIB definition 10
4.2.2 diffserv EF PHB Service CIB definition 11
4.2.3 ATMF rt_VBR Service CIB definition 12
4.2.4 CIB definition for general parameter set 12
4.2.5 CIB definition for functional units 13
5. Conclusion 14
6. Security considerations 14
7. References 14
Appendix A : Framework applied to Integrated Services 15
Appendix B : Framework applied to Differentiated Services 17
Appendix C : Framework Applied to ATM Forum services 19
Authors' Contact 21
1. Introduction
A typical open control API can be conceived as being composed of
the following set of message classes
- Connection Management messages are used to establish, modify
and delete connections across network elements.
- Interface Management messages are used for controlling
state of network element interfaces such as ports and
configuring them.
- Statistics messages are used for obtaining statistics of
interfaces, connections and the network element.
- Synchronization messages are used for achieving
synchronization between the controller and the network element.
- Alarm messages are used for informing controller of
asynchronous traps generated at the network element.
Ranganathan, et. al. Expires: June 1999 [Page 2]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
- Quality of Service messages are used for supporting varied
service types with specific traffic and QoS requirements.
Currently proposed and available open control APIs are master-slave
protocols with the controller as the master and the network element
being the slave. Open control API are typically employed when
control architectures operate external to the network element and
require a means of controlling the network element hardware.
2. Framework for QoS support
2.1 Extension to Connection Management messages
Connection Management messages are used by the controller to
establish, delete, modify and verify connections across the network
element. The proposed framework appends QoS service type to
Connection Establishment Request messages and also a QoS indicator
flag to indicate that QoS configuration messages will follow the
Connection Establishment message.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Connection Establishment Request Message |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Q|N| Reserved | Service Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Q flag
Quality of Service indicator bit to indicate that a QoS message
will follow the Connection Establishment Request message if
the Service Type is supported
N flag
Non-usage of proposed QoS framework indicator. Setting this bit
provides flexibility to employ alternate interfaces for
control, with the assumption that the controller and the
network element have support for these interfaces.
Service Type
Services such as ATM Forum Services, MPLS, intserv, diffserv
are assigned numerical values for Service Types.
Ranganathan, et. al. Expires: June 1999 [Page 3]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
The reserved fields in the Connection Establishment message may be
used to indicate the Service Type and QoS control flags.
2.1.1 Service Type Failure
Failure of the network element to identify a service type needs to
be incorporated as an additional failure code in the Connection
Establishment Response message.
2.2 QoS Configuration Messages
These are a set of Request/Response messages to handle QoS
requirements of various services. The QoS Request/Response message
format is as follows:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control API Message Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Service Class | QoS Flags | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Parameter 1 .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Parameter 2 .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Parameter n .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Service Class
The class of service with a defined set of QoS parameters for
the service type specified in the Connection Establishment
message.
Ranganathan, et. al. Expires: June 1999 [Page 4]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
QoS Flags
+-+-+-+-+-+-+-+-+
|M|T|X|X|X|X|X|X| X - unused
+-+-+-+-+-+-+-+-+
M
More Bit indicating that more QoS parameters for the same
service class are in successive messages when the QoS
configuration messages are limited by the MTU of the
control API.
T
Setting the T bit indicates that the QoS parameters are in
the form of TLVs. If the T bit is 0, a pre-determined QoS
structure is assumed for the service class.
Reserved
Field currently not used
If QoS parameters are being specified as TLVs, the Parameter fields
in the QoS Configuration messages have the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S| Parameter Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value ... |
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameter Type
The QoS parameter type as defined in the Control Information
Base(CIB) (Section 4).
Parameter Length
Indicates the length of the Parameter Value in bytes.
Parameter Value
The Actual QoS parameter value.
Ranganathan, et. al. Expires: June 1999 [Page 5]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
S flag
Indicates that the parameter specified by the parameter type is
structured. The Length field provides the length of the
complete structure and the Value field consist of individual
elements of the structure also in similar format. Multiple
such nesting of TLVs is permitted.
Specifying QoS parameters as TLVs are useful when all parameters are
not provided by the application and default values are assumed by
the control architecture. When the service class QoS definition
involves a large number of parameters and most of them are being set
to default values, employing TLVs to share QoS information between
the controller and the network element can prove to be more
efficient than employing pre-determined structures.
2.2.1 QoS Failures
The following QoS failures need to be incorporated as failure codes
in QoS configuration messages.
- Unknown/Invalid Service Class
- Invalid QoS parameter type
- QoS value is out of range
- Insufficient QoS resources for the specified service
- No predetermined QoS structure defined for specified service
class(When T is not set)
3. Interface support for non-standard/experimental services
3.1 Specifying a general parameter set
In this framework, for services not directly supported by the
network element, we suggest a general set of parameters that are
grouped under a reserved service type 100. In the QoS configuration
message, the service class field is unused and the parameters are
passed as TLVs. The parameter types for these general set of
parameters are also defined in the Control Information Base.
For instance, let us consider an experimental service characterized
by specifying the peak rate . We employ the "peak rate parameter"
specified in the general parameter set for controlling the network
element to support the desired service as shown below.
In the Connection Establishment message of the control API,
Service type = 100
Ranganathan, et. al. Expires: June 1999 [Page 6]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
The QoS configuration message has the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control API Message Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x00 |0|1|x|x|x|x|x|x| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x01 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| peak rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The parameter type specified in the above message is based on sample
CIB definitions given in Section 4.2.4. The T bit must be set to 1
when the general parameter set is used.
3.2 Interface for functional units in a network element
If the desired service cannot be supported employing the standard
service type/service class template or using the general parameter
set, the following approach of providing a direct control interface
to the functional entities on the network element is suggested.
Such a model-based approach [1] provides an efficient method to map
QoS parameters specified by the control architecture to functional
units on the network element, however with the increased mapping
overhead and possible inaccuracy of the mapping due to limited
knowledge of the hardware. Further, supporting such an interface
seems to be important for the evolution of flexible control.
The use of this approach is indicated in the Connection
Establishment message by setting the service type field to 150.
The service class field in the QoS configuration message is used to
indicate the functional unit being controlled such as a policer,
shaper, scheduler and so on. The parameters affecting the operation
of the functional unit are specified as parameters in the QoS
configuration message. Flags for controlling the functional units
may be grouped into bytes and treated as control parameters. The
structure of these parameters need to be provided by the vendor
along with the IDs in the proprietary CIBs.
For instance, a simple GCRA based policer is chosen as the
functional unit to be controlled in the following example.
In the Connection Establishment message, the service type is set to 150.
Ranganathan, et. al. Expires: June 1999 [Page 7]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
The QoS configuration message is as shown below:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control API Message Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x05 |0|1|x|x|x|x|x|x| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x01 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Increment |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x02 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x03 | 0x01 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|flag parameter |
+-+-+-+-+-+-+-+-+
The service class and parameter type fields are given based on the
CIB definition in Section 4.2.5.
The flag parameter structure for the policer may be as follows:
+-+-+-+-+-+-+-+-+
|M|D|X|X|X|X|X|X| X - unused
+-+-+-+-+-+-+-+-+
M flag
Setting this bit informs the policer to mark the non-conforming
packets. If M bit is 0, then the non-conforming packets are
discarded.
D flag
Domain of policing bit. Setting this bit indicates that
policing function is applied to all packets. If the D bit is
0 only unmarked packets are policed.
Ranganathan, et. al. Expires: June 1999 [Page 8]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
4. The Control Information Base (CIB)
This serves as an information base for
- all QoS parameter types
- service class and service type for standard services
- functional unit types
The CIB definitions are given in ASN.1 notation based on the
hierarchical tree below.
Abstract Service Super Class
|
|
V
Service Type
|
|
V
Service Class
|
|
V
Parameter Type
|
|
V
Parameter Type
(optional - Specified if corresponding superclass is a structure)
The CIB definitions for all known standard services need to be
standardized.
4.1 Structure of CIB definitions
ELEMENT_TYPE
SYNTAX
STATUS
DESCRIPTION
::= { }
Controlled elements can correspond to service type, service class
or parameter type. The and the
fields hold variables reflecting these controlled elements. All
service types are grouped under an abstract superclass named
"service".
Ranganathan, et. al. Expires: June 1999 [Page 9]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
The indicates the nature of the controlled element,
namely, service_type, service_class, structured_parameter,
int_parameter, float_parameter, double_parameter and so on.
The can be mandatory or optional depending on the parameter
type for the corresponding service. The field is defined as
"non_applicable" when the controlled elements are either service
class, service type or functional units.
The provides a brief description of the controlled
element.
The provides an ID to the controlled element by
which it is specified in messages of the open control interface.
4.2 Sample CIB Definitions
A few sample CIB definitions for ATMF rt_VBR Service, intserv
controlled load service, diffserv EF PHB service, the general
parameter set and functional units are given below.
4.2.1 intserv Controlled Load Service CIB definition
The service type definition is as follows:
intserv ELEMENT_TYPE
SYNTAX service_type
STATUS non_applicable
DESCRIPTION "Integrated Services - intserv"
::= { service 2 }
The Controlled Load service class definition is as follows:
controlled_load ELEMENT_TYPE
SYNTAX service_class
STATUS non_applicable
DESCRIPTION "Controlled Load service"
::= { intserv 5 }
A typical parameter definition may be as follows:
token_bucket_tspec ELEMENT_TYPE
SYNTAX structured_parameter
STATUS mandatory
DESCRIPTION "Token Bucket Parameter for Controlled Load Service"
::= { controlled_load 127 }
The element_identifiers for all parameters defined WITHIN the
token_bucket_tspec are given below
Ranganathan, et. al. Expires: June 1999 [Page 10]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
Parameter element_identifier
Token Rate [r] 1
Bucket Depth [b] 2
Peak Traffic Rate [p] 3
Minimum Policed Unit [m] 4
Maximum Packet Size [M] 5
It should be noted that the scope of these element_identifiers is
limited to the token_bucket_tspec. For instance, another parameter
with element_identifier equal to 1 may be specified for the same
service.
4.2.2 diffserv EF PHB Service CIB definition
The service type definition is as follows:
diffserv ELEMENT_TYPE
SYNTAX service_type
STATUS non_applicable
DESCRIPTION "Differentiated Services - diffserv"
::= { service 3 }
The EF PHB class definition is as follows:
ef_phb ELEMENT_TYPE
SYNTAX service_class
STATUS non_applicable
DESCRIPTION "Expedited Forwarding Per-Hop Behavior"
::= { diffserv 184 }
Typical parameter definitions may be as follows:
conf_min_rate ELEMENT_TYPE
SYNTAX float_parameter
STATUS mandatory
DESCRIPTION "Configured Minimum Rate for traffic leaving a
diffserv node"
::= { ef_phb 1 }
max_ef_rate ELEMENT_TYPE
SYNTAX float_parameter
STATUS optional
DESCRIPTION "Maximum Rate characterizing a token
bucket rate limiter"
::= { ef_phb 2 }
Ranganathan, et. al. Expires: June 1999 [Page 11]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
4.2.3 ATMF rt_VBR Service CIB definition
The service type definition is as follows:
atmf ELEMENT_TYPE
SYNTAX service_type
STATUS non_applicable
DESCRIPTION "Services defined by ATM Forum"
::= { service 1 }
The rt_VBR service class definition is as follows:
rt_vbr ELEMENT_TYPE
SYNTAX service_class
STATUS non_applicable
DESCRIPTION "Real Time VBR service"
::= { atmf 2 }
A typical parameter definition may be as follows:
pcr_allcells ELEMENT_TYPE
SYNTAX float_parameter
STATUS mandatory
DESCRIPTION "Peak Cell Rate for all cells, tagged or untagged"
::= { rt_vbr 1 }
The other parameters are defined in a similar manner. The
element_identifiers for all parameters that may be specified in
rt_VBR service are given below
Parameter element_identifier
Peak Cell Rate (CLP=0+1) 1
Peak Cell Rate (CLP=0) 2
Sustainable Cell Rate (CLP=0+1) 3
Sustainable Cell Rate (CLP=0) 4
Maximum Burst Size (CLP=0+1) 5
Maximum Burst Size (CLP=0) 6
4.2.4 CIB definition for general parameter set
These may be proprietary CIBs provided by the vendor of the network
element.
The service type definition is as follows:
general_param ELEMENT_TYPE
SYNTAX service_type
STATUS non_applicable
DESCRIPTION "Indicator for using general parameter set"
::= { service 100 }
Ranganathan, et. al. Expires: June 1999 [Page 12]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
A typical parameter definition may be as follows:
peak_rate ELEMENT_TYPE
SYNTAX float_parameter
STATUS mandatory
DESCRIPTION "Acceptable Peak Rate of service traffic"
::= { general_param 1 }
4.2.5 CIB definition for functional units
These may be proprietary CIBs provided by the vendor of the network
element.
The service type definition is as follows:
element_model ELEMENT_TYPE
SYNTAX service_type
STATUS non_applicable
DESCRIPTION "Indicator of functional elements"
::= { service 150 }
The policer definition is as follows:
policer ELEMENT_TYPE
SYNTAX service_class
STATUS non_applicable
DESCRIPTION "Simple GCRA traffic policer"
::= { element_model 5 }
A typical parameter definition may be as follows:
increment ELEMENT_TYPE
SYNTAX float_parameter
STATUS mandatory
DESCRIPTION "Increment parameter for the policer"
::= { policer 1 }
The other parameters are defined in a similar manner. The
element_identifiers for all parameters that may be specified for
the simple GCRA policer are given below
Parameter element_identifier
Increment 1
Limit 2
flag parameter 3
Ranganathan, et. al. Expires: June 1999 [Page 13]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
5. Conclusion
The proposed framework focuses on providing a simple control
interface for open control implementations based on existing
standard architectures supported by the network element.
By defining a general set of parameters, the framework broadens the
flexibility of the control domain with minimum compromise to
simplicity. Further, it advocates a model based approach for direct
manipulation of hardware.
The concept of Control Information Base provides a convenient means
of parsing the control domain. Proprietary CIB definitions permit
vendors to restrict the information about the underlying hardware
and still cater to flexible services by incorporating a
comprehensive general parameter set.
It is important to note that the proposed framework for generic
Quality of Service is applicable to any network element and any
off-board control architecture.
6. Security considerations
As this document does not propose a protocol, there are no
security considerations.
7. References
[1] Newman, P. et al.,"Ipsilon's General Switch Management Protocol
Version 2.0", RFC 2297, March 1998.
[2] Adam, Constantin M., et al.,"QoS Extensions to GSMP",
OPENSIG-DRAFT, COMET Group, Columbia University, April 1997.
[3] The ATM Forum Technical Committee "ATM User-Network Interface
(UNI) Signaling Specification Version 4.0", af-sig-0061.000,
July 1996.
[4] Ranganathan, P., et al.,"QoS extensions and UNI 4.0 support to
GSMP", ITTC-DRAFT, University of Kansas, January 1998.
[5] Shenker, S., et al., "General Characterization Parameters for
Integrated Service Network Elements", RFC 2215, September 1997.
[6] Shenker, S., et al., "Network Element Service Specification
Template", RFC 2216, September 1997.
Ranganathan, et. al. Expires: June 1999 [Page 14]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
[7] Nichols, K., et al., "Definition of the Differentiated Services
Field (DS Field) in the IPv4 and IPv6 Headers", Internet Draft
, October 1998.
[8] Jacobson, V., et al., "An Expedited Forwarding PHB",
Internet Draft , November 1998.
Appendix A : Framework applied to Integrated Services (intserv)
According to RFC 2215 [5], QoS parameters are assigned in the
following format to intserv-based services -
"Parameters are assigned machine-oriented ID's and each
parameter ID is composed from two numerical fields, one
identifying the service associated with the parameter
(the ), and the other (the )
identifying the parameter itself.
The values for the parameters common to
all services are assigned from the "general parameters"
range (1 - 127). The in the range
128 - 254 name parameters with definitions specific to a
particular QoS control service. In contrast to the general
parameters described here, it is necessary to consider both
the and to determine the
meaning of the parameter."
According to RFC 2216 [6], intserv supports various service classes
as follows -
" is an integer in the range 1 to 254. Service
number 1 is used to indicate that the associated parameter
is "generic", and is not associated with a specific service.
The range from 2 to 127 used to name services defined by the
IETF. Service numbers in the region above 127 are reserved
for experimental or private services."
In Connection Establishment message,
Service Type = 2 (indicating intserv services)
Q = 1
N = 0
In QoS Configuration message
Service Class = 5 (for Controlled Load service defined by IETF)
Ranganathan, et. al. Expires: June 1999 [Page 15]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
If T=0, a predefined structure for the intserv service can be used
for passing QoS control parameters[5].
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control API Message Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x05 |0|0|x|x|x|x|x|x| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Token Rate [r] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Depth [b] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Traffic Rate [p] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minimum Policed Unit [m] | Maximum Packet Size [M] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The parameters can also be passed as TLV structures by setting T=1.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control API Message Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x05 |0|1|x|x|x|x|x|x| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| 0x7F (127d) | 0x1C (28d) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x01 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Token Rate [r] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x02 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bucket Depth [b] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x04 | 0x02 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minimum Policed Unit [m] |0| 0x05 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x02 | Maximum Packet Size [M] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Ranganathan, et. al. Expires: June 1999 [Page 16]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
The default value of positive infinity may be assumed for the
Peak Traffic Rate [p] for the particular service. The service and
parameter types in the above message are based on example CIB
definition provided in Section 4.2.1.
For any standard service supported by the IETF, the entire parameter
set is known and the control API can provide complete support for
such services. Any parameter in the range of 1-127 is also
predefined by intserv, so the control API can handle them too.
The issue arises for service-specific parameters (parameters
128-254) for experimental/private services (services 127-254) which
can vary depending on the service. In such cases, a general
parameter set may be used as explained in Section 3.1 or the
approach of mapping these QoS parameters to functional units on the
network element may be employed as explained in Section 3.2.
Alternately, the N bit can be set to 1 in the Connection
Establishment message and an alternate interface can be used for
communicating the QoS requirements.
Appendix B : Framework applied to Differentiated Services (diffserv)
According to [7],
"Differentiated services are intended to provide a framework
and building blocks to enable deployment of scalable service
discrimination in the Internet.
In the packet forwarding path, differentiated services are
realized by mapping the codepoint contained in a field in the
IP packet header to a particular forwarding treatment, or
per-hop behavior (PHB), at each network node along its path.
The description of a PHB SHOULD be sufficiently detailed to
allow the construction of predictable services."
We consider a particular per hop behavior, the Expedited Forwarding
PHB to which we apply our framework for control.
According to [8],
"The EF PHB can be used to build a low loss, low latency, low
jitter, assured bandwidth, end-to-end service through DS
domains. The EF PHB is defined as a forwarding treatment for
a particular diffserv aggregate where the departure rate of
the aggregate's packets from any diffserv node must equal or
exceed a configurable rate. This configured minimum rate must
be settable.
Ranganathan, et. al. Expires: June 1999 [Page 17]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
If the EF PHB is implemented by a mechanism that allows
unlimited preemption of other traffic, the implementation
must include some means to limit the damage EF traffic could
inflict on other traffic (e.g., a token bucket rate limiter).
This maximum EF rate must be settable."
The various PHBs are treated as service classes in the framework.
The EF PHB service may be defined using the framework as follows.
In the Connection Establishment message,
Service Type = 3 (indicating Differentiated Services)
Q = 1
N = 0
In QoS Configuration message
Service Class = 184 (for EF PHB)
The service class identifier is derived from the DS byte. Codepoint,
which forms the 6 most significant bits of the DS byte is assigned
101110 as recommended for the EF PHB. The two least significant
bits of the DS byte are set to 0.
The parameters are passed as TLV structures by setting T=1.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control API Message Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xB8(184d) |0|1|x|x|x|x|x|x| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x01 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| configured minimum rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x02 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| maximum EF rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The service and parameter types in the above message are based on
example CIB definition provided in Section 4.2.2.
Ranganathan, et. al. Expires: June 1999 [Page 18]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
If a standard support for the EF PHB is not provided on the network
element, possible equivalent parameters from the general parameter
set, if available, can be used for the implementation of the
service. Parameters such as minimum departure rates and peak rates
are parameters that intuitively fall in the general set. In such a
case we use the approach described in Section 3.1 setting the
service type to 100.
If the parameters for the service defined by EF PHB is not directly
available via the control interface, then we map these parameters to
functional units in the network element and follow the approach
described in Section 3.2 setting the service type to 150. A logical
map of these parameters would be to appropriately manipulate the
policer and regulator functional units.
Appendix C : Framework Applied to ATM Forum services
In Connection Establishment message of Control API
Service Type = 1 (Indicating ATMF Based services)
Q = 1
N = 0
In QoS Configuration message
Service Class = 2 (for rt_VBR)
If T=0, then a predetermined QoS structure for ATMF service
class[3] is employed for sending QoS information. It is assumed
that the controller and network element have sufficient information
to interpret these parameters and this is outside the scope of the
control API.
Ranganathan, et. al. Expires: June 1999 [Page 19]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
As an example, the following message format may be used for rt_VBR
Service defined by ATM Forum,
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control API Message Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x02 |0|0|x|x|x|x|x|x| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Cell Rate ( CLP = 0+1 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Cell Rate ( CLP = 0 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sustainable Cell Rate ( CLP = 0+1 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sustainable Cell Rate ( CLP = 0 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Maximum Burst Size ( CLP = 0+1 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Maximum Burst Size ( CLP = 0 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Ranganathan, et. al. Expires: June 1999 [Page 20]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
If T=1, then the PCR, SCR and MBS values are given as TLV
structures.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control API Message Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x02 |0|1|x|x|x|x|x|x| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x01 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Cell Rate ( CLP = 0 + 1 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x03 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sustainable Cell Rate ( CLP = 0+1 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| 0x05 | 0x04 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Maximum Burst Size ( CLP = 0+1 ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In the above message, only the PCR, SCR and MBS values for
CLP = 0 + 1 cells are specified. The other parameters are assumed
default values or unused by the application, for instance when
selective cell discard is not a component of the requested service.
The service and parameter types in the above message are based on
example CIB definition provided in Section 4.2.3.
Authors' Contact
Parasuram Ranganathan
ITTC, University of Kansas
2291, Irving Hill Road, #344W
Lawrence, KS 66045
Phone: +1 785 864 7844
email: ram@ittc.ukans.edu
Deepak Sreenivasamurthy
ITTC, University of Kansas
2291, Irving Hill Road, #317
Lawrence, KS 66045
Phone: +1 785 864 3041
email: sdeepak@ittc.ukans.edu
Ranganathan, et. al. Expires: June 1999 [Page 21]
INTERNET-DRAFT draft-ranganathan-gsmp-qos-framework-00.txt December 1998
Joseph Evans
ITTC, University of Kansas
2291, Irving Hill Road, #204
Lawrence, KS 66045
Phone: +1 785 864 4830
email: evans@ittc.ukans.edu
Arvind Kaushal
Sprint Corporation,
9300 Metcalf Avenue,
Overland Park, KS 66212
Mailstop: KSOPKB0301
Phone: +1 913 534 2558
email: kaushal@sprintcorp.com
Ranganathan, et. al. Expires: June 1999 [Page 22]