rfc3290.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,553 行 · 第 1/5 页
TXT
1,553 行
Network Working Group Y. Bernet
Request for Comments: 3290 Microsoft
Category: Informational S. Blake
Ericsson
D. Grossman
Motorola
A. Smith
Harbour Networks
May 2002
An Informal Management Model for Diffserv Routers
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This document proposes an informal management model of Differentiated
Services (Diffserv) routers for use in their management and
configuration. This model defines functional datapath elements
(e.g., classifiers, meters, actions, marking, absolute dropping,
counting, multiplexing), algorithmic droppers, queues and schedulers.
It describes possible configuration parameters for these elements and
how they might be interconnected to realize the range of traffic
conditioning and per-hop behavior (PHB) functionalities described in
the Diffserv Architecture.
Table of Contents
1 Introduction ................................................. 3
2 Glossary ..................................................... 4
3 Conceptual Model ............................................. 7
3.1 Components of a Diffserv Router ............................ 7
3.1.1 Datapath ................................................. 7
3.1.2 Configuration and Management Interface ................... 9
3.1.3 Optional QoS Agent Module ................................ 10
3.2 Diffserv Functions at Ingress and Egress ................... 10
3.3 Shaping and Policing ....................................... 12
3.4 Hierarchical View of the Model ............................. 12
4 Classifiers .................................................. 13
Bernet, et. al. Informational [Page 1]
RFC 3290 Diffserv Informal Management Model May 2002
4.1 Definition ................................................. 13
4.1.1 Filters .................................................. 15
4.1.2 Overlapping Filters ...................................... 15
4.2 Examples ................................................... 16
4.2.1 Behavior Aggregate (BA) Classifier ....................... 16
4.2.2 Multi-Field (MF) Classifier .............................. 17
4.2.3 Free-form Classifier ..................................... 17
4.2.4 Other Possible Classifiers ............................... 18
5 Meters ....................................................... 19
5.1 Examples ................................................... 20
5.1.1 Average Rate Meter ....................................... 20
5.1.2 Exponential Weighted Moving Average (EWMA) Meter ......... 21
5.1.3 Two-Parameter Token Bucket Meter ......................... 21
5.1.4 Multi-Stage Token Bucket Meter ........................... 22
5.1.5 Null Meter ............................................... 23
6 Action Elements .............................................. 23
6.1 DSCP Marker ................................................ 24
6.2 Absolute Dropper ........................................... 24
6.3 Multiplexor ................................................ 25
6.4 Counter .................................................... 25
6.5 Null Action ................................................ 25
7 Queuing Elements ............................................. 25
7.1 Queuing Model .............................................. 26
7.1.1 FIFO Queue ............................................... 27
7.1.2 Scheduler ................................................ 28
7.1.3 Algorithmic Dropper ...................................... 30
7.2 Sharing load among traffic streams using queuing ........... 33
7.2.1 Load Sharing ............................................. 34
7.2.2 Traffic Priority ......................................... 35
8 Traffic Conditioning Blocks (TCBs) ........................... 35
8.1 TCB ........................................................ 36
8.1.1 Building blocks for Queuing .............................. 37
8.2 An Example TCB ............................................. 37
8.3 An Example TCB to Support Multiple Customers ............... 42
8.4 TCBs Supporting Microflow-based Services ................... 44
8.5 Cascaded TCBs .............................................. 47
9 Security Considerations ...................................... 47
10 Acknowledgments ............................................. 47
11 References .................................................. 47
Appendix A. Discussion of Token Buckets and Leaky Buckets ...... 50
Authors' Addresses ............................................. 55
Full Copyright Statement........................................ 56
Bernet, et. al. Informational [Page 2]
RFC 3290 Diffserv Informal Management Model May 2002
1. Introduction
Differentiated Services (Diffserv) [DSARCH] is a set of technologies
which allow network service providers to offer services with
different kinds of network quality-of-service (QoS) objectives to
different customers and their traffic streams. This document uses
terminology defined in [DSARCH] and [NEWTERMS] (some of these
definitions are included here in Section 2 for completeness).
The premise of Diffserv networks is that routers within the core of
the network handle packets in different traffic streams by forwarding
them using different per-hop behaviors (PHBs). The PHB to be applied
is indicated by a Diffserv codepoint (DSCP) in the IP header of each
packet [DSFIELD]. The DSCP markings are applied either by a trusted
upstream node, e.g., a customer, or by the edge routers on entry to
the Diffserv network.
The advantage of such a scheme is that many traffic streams can be
aggregated to one of a small number of behavior aggregates (BA),
which are each forwarded using the same PHB at the router, thereby
simplifying the processing and associated storage. In addition,
there is no signaling other than what is carried in the DSCP of each
packet, and no other related processing that is required in the core
of the Diffserv network since QoS is invoked on a packet-by-packet
basis.
The Diffserv architecture enables a variety of possible services
which could be deployed in a network. These services are reflected
to customers at the edges of the Diffserv network in the form of a
Service Level Specification (SLS - see [NEWTERMS]). Whilst further
discussion of such services is outside the scope of this document
(see [PDBDEF]), the ability to provide these services depends on the
availability of cohesive management and configuration tools that can
be used to provision and monitor a set of Diffserv routers in a
coordinated manner. To facilitate the development of such
configuration and management tools it is helpful to define a
conceptual model of a Diffserv router that abstracts away
implementation details of particular Diffserv routers from the
parameters of interest for configuration and management. The purpose
of this document is to define such a model.
The basic forwarding functionality of a Diffserv router is defined in
other specifications; e.g., [DSARCH, DSFIELD, AF-PHB, EF-PHB].
This document is not intended in any way to constrain or to dictate
the implementation alternatives of Diffserv routers. It is expected
that router implementers will demonstrate a great deal of variability
in their implementations. To the extent that implementers are able
Bernet, et. al. Informational [Page 3]
RFC 3290 Diffserv Informal Management Model May 2002
to model their implementations using the abstractions described in
this document, configuration and management tools will more readily
be able to configure and manage networks incorporating Diffserv
routers of assorted origins.
This model is intended to be abstract and capable of representing the
configuration parameters important to Diffserv functionality for a
variety of specific router implementations. It is not intended as a
guide to system implementation nor as a formal modeling description.
This model serves as the rationale for the design of an SNMP MIB
[DSMIB] and for other configuration interfaces (e.g., other policy-
management protocols) and, possibly, more detailed formal models
(e.g., [QOSDEVMOD]): these should all be consistent with this model.
o Section 3 starts by describing the basic high-level blocks of a
Diffserv router. It explains the concepts used in the model,
including the hierarchical management model for these blocks which
uses low-level functional datapath elements such as Classifiers,
Actions, Queues.
o Section 4 describes Classifier elements.
o Section 5 discusses Meter elements.
o Section 6 discusses Action elements.
o Section 7 discusses the basic queuing elements of Algorithmic
Droppers, Queues, and Schedulers and their functional behaviors
(e.g., traffic shaping).
o Section 8 shows how the low-level elements can be combined to
build modules called Traffic Conditioning Blocks (TCBs) which are
useful for management purposes.
o Section 9 discusses security concerns.
o Appendix A contains a brief discussion of the token bucket and
leaky bucket algorithms used in this model and some of the
practical effects of the use of token buckets within the Diffserv
architecture.
2. Glossary
This document uses terminology which is defined in [DSARCH]. There
is also current work-in-progress on this terminology in the IETF and
some of the definitions provided here are taken from that work. Some
Bernet, et. al. Informational [Page 4]
RFC 3290 Diffserv Informal Management Model May 2002
of the terms from these other references are defined again here in
order to provide additional detail, along with some new terms
specific to this document.
Absolute A functional datapath element which simply discards all
Dropper packets arriving at its input.
Algorithmic A functional datapath element which selectively
Dropper discards packets that arrive at its input, based on a
discarding algorithm. It has one data input and one
output.
Classifier A functional datapath element which consists of filters
that select matching and non-matching packets. Based
on this selection, packets are forwarded along the
appropriate datapath within the router. A classifier,
therefore, splits a single incoming traffic stream into
multiple outgoing streams.
Counter A functional datapath element which updates a packet
counter and also an octet counter for every
packet that passes through it.
Datapath A conceptual path taken by packets with particular
characteristics through a Diffserv router. Decisions
as to the path taken by a packet are made by functional
datapath elements such as Classifiers and Meters.
Filter A set of wildcard, prefix, masked, range and/or exact
match conditions on the content of a packet's
headers or other data, and/or on implicit or derived
attributes associated with the packet. A filter is
said to match only if each condition is satisfied.
Functional A basic building block of the conceptual router.
Datapath Typical elements are Classifiers, Meters, Actions,
Element Algorithmic Droppers, Queues and Schedulers.
Multiplexer A multiplexor.
(Mux)
Multiplexor A functional datapath element that merges multiple
(Mux) traffic streams (datapaths) into a single traffic
stream (datapath).
Bernet, et. al. Informational [Page 5]
RFC 3290 Diffserv Informal Management Model May 2002
Non-work- A property of a scheduling algorithm such that it
conserving services packets no sooner than a scheduled departure
time, even if this means leaving packets queued
while the output (e.g., a network link or connection
to the next element) is idle.
Policing The process of comparing the arrival of data packets
against a temporal profile and forwarding, delaying
or dropping them so as to make the output stream
conformant to the profile.
Queuing A combination of functional datapath elements
Block that modulates the transmission of packets belonging
to a traffic streams and determines their
ordering, possibly storing them temporarily or
discarding them.
Scheduling An algorithm which determines which queue of a set
algorithm of queues to service next. This may be based on the
relative priority of the queues, on a weighted fair
bandwidth sharing policy or some other policy. Such
an algorithm may be either work-conserving or non-
work-conserving.
Service-Level A set of parameters and their values which together
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?