RFC1404 - A Model for Common Operational Statistics
Network Working Group B. Stockman
Request for Comments: 1404 NORDUnet/SUNET
January 1993
A Model for Common Operational Statistics
Status of the Memo
This memo provides information for the Internet community. It does
not specify an Internet standard. Distribution of this memo is
unlimited.
Abstract
This memo describes a model for operational statistics in the
Internet. It gives recommendations for metrics, measurements,
polling periods, storage formats and presentation formats.
Acknowledgements
The author would like to thank the members of the Operational
Statistics Working Group of the IETF whose efforts made this memo
possible.
Table of Contents
1. IntrodUCtion ............................................. 2
2. The Model ................................................ 5
2.1 Metrics and Polling Periods .............................. 5
2.2 Format for Storing Collected Data ........................ 6
2.3 Reports .................................................. 6
2.4 Security Issues .......................................... 6
3. Categorization of Metrics ................................ 7
3.1 Overview ................................................. 7
3.2 Categorization of Metrics Based on Measurement Areas ..... 7
3.2.1 Utilization Metrics ...................................... 7
3.2.2 Performance Metrics ...................................... 7
3.2.3 Availability Metrics ..................................... 7
3.2.4 Stability Metrics ........................................ 8
3.3 Categorization Based on Availability of Metrics .......... 8
3.3.1 Per Interface Variables Already in Standard MIB .......... 8
3.3.2 Per Interface Variables in Private Enterprise MIB ........ 9
3.3.3 Per interface Variables Needing High Resolution Polling .. 9
3.3.4 Per Interface Variables not in any MIB ................... 9
3.3.5 Per Node Variables ....................................... 9
3.3.6 Metrics not being Retrievable with SNMP ................. 10
3.4 Recommended Metrics ..................................... 10
3.4.1 Chosen Metrics .......................................... 10
4. Polling Frequencies ..................................... 11
4.1 Variables Needing High Resolution Polling ............... 11
4.2 Variables not Needing High Resolution Polling ........... 11
5. Pre-Processing of Raw Statistical Data .................. 12
5.1 Optimizing and Concentrating Data to Resources .......... 12
5.2 Aggregation of Data ..................................... 12
6. Storing of Statistical Data ............................. 13
6.1 The Storage Format ...................................... 13
6.1.1 The Label Section ....................................... 14
6.1.2 The Device Section ...................................... 14
6.1.3 The Data Section ........................................ 16
6.2 Storage Requirement Estimations ......................... 17
7. Report Formats .......................................... 18
7.1 Report Types and Contents ............................... 18
7.2 Contents of the Reports ................................. 18
7.2.1 Offered Load by Link .................................... 18
7.2.2 Offered Load by Customer ................................ 18
7.2.3 Resource Utilization Reporting .......................... 19
7.2.3.1 Utilization as Maximum Peak Behavior .................... 19
7.2.3.2 Utilization as Frequency Distribution of Peaks .......... 19
8. Considerations for Future Development ................... 20
8.1 A Client/Server Based Statistical Exchange System ....... 20
8.2 Inclusion of Variables not in the Internet Standard MIB . 20
8.3 Detailed Resource Utilization Statistics ................ 20
Appendix A Some formulas for statistical aggregation ........... 21
Appendix B An example .......................................... 24
Security Considerations ......................................... 27
Author's Address ................................................ 27
1. Introduction
Today it is not uncommon for many network administrations to collect
and archive network management metrics that indicate network
utilization, growth, and outages. The primary goal is to facilitate
near-term problem isolation and longer-term network planning within
the organization. There is also the larger goal of cooperative
problem isolation and network planning between network
administrations. This larger goal is likely to become increasingly
important as the Internet continues to grow.
There exist a variety of network management tools for the collection
and presentation of network management metrics. However, different
kinds of measurement and presentation techniques makes it difficult
to compare data between networks. Plus, there is not common
agreement on what metrics should be regularly collected or how they
should be displayed.
There needs to be an agreed-upon model for
1) A minimal set of common network management metrics to satisfy the
goals stated above.
2) Tools for collecting these metrics.
3) A common storage format to facilitate the usage of these data by
common presentation tools.
4) Common presentation formats.
Under this Operational Statistics model, collection tools will
collect and store data in a given format to be retrieved later by
presentation tools displaying the data in a predefined way. (See
figure below.)
The Operational Statistics Model
(Collection of common metrics, by commonly available tools, stored in
a common format, displayed in common formats by commonly available
presentation tools.)
!-----------------------!
! Network !
!---+---------------+---!
/
/
/
--------+------ ----+---------
! New ! ! Old !
! Collection ! ! Collection !
! Tool ! ! Tool !
!---------+---! !------+-----!
!
!-------+--------!
! Post-Processor !
!--+-------------!
/
/
/
!--+-------+---!
! Common !
! Statistics !
! Database !
!-+--------+---!
/
/
/
/ !-+-------------!
/ ! Pre-Processor !
/ !-------+-------!
!-----------+--! !
! New ! !-------+-------!
! Presentation ! ! Old !
! Tool ! ! Presentation !
!---------+----! ! Tool !
!--+------------!
/
/
!-+---------------+-!
! Graphical Output !
! (e.g., to paper !
! or X-window) !
!-------------------!
This memo gives an overview of this model for common operational
statistics. The model defines the gathering, storing and presentation
of network operational statistics and classifies the types of
information that should be available at each network operation center
conforming to this model.
The model defines a minimal set of metrics, how these metrics should
gathered and stored. Finally the model gives recommendations on the
content and the layout of statistical reports making it possible to
easily compare networks statistics between NOCs.
The primary purpose of this model is to define ways and methods on
how NOCs could most effectively share their operational statistics.
One intention with this model is to specify a baseline capability
that NOCs conforming to the this model may support with a minimal
development effort and a minimal ongoing effort.
2. The Model
The model defines three areas of interest on which all underlying
concepts are based.
1. The definition of a minimal set of metrics to be gathered
2. The definition of a format for storing collected statistical
data.
3. The definition of methods and formats for generating
reports.
The model indicates that old tools used today could be retrofitted
into the new paradigm. This could be done by providing conversion-
filters between the old and the new environment tools. In this sense
this model intends to advocate the development of public domain
software for use by participating NOCs.
One basic idea with the model is that statistical data stored at one
place could be retrieved and displayed at some other place.
2.1 Metrics and Polling Periods
The intention here is to define a minimal set of metrics that easily
could be gathered using standard SNMP based network management tools.
These metrics should hence be available as variables in the Internet
Standard MIB.
If the Internet Standard MIB is changed also this minimal set of
metrics could be reconsidered as there are many metrics viewed as
important but currently not being defined in the standard MIB. For
some metrics being highly desirable to collect there are currently no
way to get them into the Internet Standard MIB as these metrics
probably are not possible to retrieve using SNMP. Tools and methods
in gathering such metrics should be eXPlicitly defined if such
metrics are to be considered. This is, however, outside of the scope
of this memo.
2.2 Format for Storing Collected Data
A format for storing data is defined. The intention is to minimize
redundant information by using a single header structure where all
information relevant to a certain set of statistical data is stored.
This header section will give information on when and where the
corresponding statistical data where collected.
2.3 Reports
Some basic classes of reports are suggested with regards to different
views of network behavior. For this reason reports on totals of
octets and packets over some period in time are regarded as essential
to give an overall view of the traffic flows in a network.
Differentiation between application and protocols to give ideas on
which type of traffic is dominant is regarded as needed. Finally
reports on resource utilization are recommended..
Depending on the intention with a report the timeperiod over which it
spans may vary. For capacity planning there may be a need for longer
term reports while in engineering and operation there may be
sufficient with reports on weekly or daily basis.
2.4 Security Issues
There are legal, ethical and political concerns of data sharing.
People are concerned about showing data that may make one of the
networks look bad.
For this reason there is a need to insure integrity, conformity and
confidentiality of the shared data. To be useful, the same data must
be collected from all of the involved sites and it must be collected
at the same interval. To prevent vendors from getting an unfair
performance information, certain data must not be made available.
3. Categorization of Metrics
3.1 Overview
This section gives a classification of metrics with regard to scope
and easiness of retrieve. A recommendation of a minimal set of
metrics is given. The section also gives some hints on metrics to be
considered for future inclusion when available in the network
management environment. Finally some thoughts on storage requirements
are presented.
3.2 Categorization of Metrics Based on Measurement Areas
The metrics used in evaluating network traffic could be classified
into (at least) four major categories:
- Utilization metrics
- Performance metrics
- Availability metrics
- Stability metrics
3.2.1. Utilization Metrics
These category describes different ASPects of the total traffic being
forwarded through the network. Possible metrics are:
- Total input and output packets and octets.
- Various peak metrics.
- Per protocol and per application metrics.
3.2.2 Performance Metrics
These metrics describes the quality of service such as delays and
congestion situations. Possible metrics are:
- RTT metrics on different protocol layers.
- Number of collisions on a bus network
- Number of ICMP Source Quench messages.
- Number of packets dropped.
- etc.
3.2.3 Availability Metrics
This could be considered as the long term Accessibility metrics on
different protocol layers. Possible metrics are:
- Line availability as percentage uptime.
- Route availability
- Application availability
3.2.4 Stability Metrics
These metrics describes short term fluctuations in the network which
degrades the service level. Also changes in traffic patterns could be
recognized using these metrics. Possible metrics are:
- Number of fast line status transitions
- Number of fast route changes (also known as route flapping)
- Number of routes per interface in the tables
- Next hop count stability.
- Short term ICMP behaviors.
3.3 Categorization Based on Availability of Metrics
To be able to retrieve metrics the corresponding variables must be
possible to access at every network object being part of the
management domain for which statistics are being collected.
Some metrics are easily retrievable as being defined as variables in
the Internet Standard MIB while other metrics may be retrievable as
being part of some vendor's private enterprise MIB suBTree. Finally
some metrics are considered as impossible to retrieve due to not
being possible to include in the SNMP concept or that the actual
measurement of these metrics would require extensive polling and
hence download the network with management traffic.
The metrics being categorized below could each be judged as an
important metric in evaluating network behaviors. This list may
serve for reconsider the decisions on which metric to be regarded as
reasonable and desirable to collect. If the availability of below
metrics changes these decisions may change.
3.3.1 Per Interface Variables Already in Internet Standard MIB
(thus easy to retrieve)
ifInUcastPkts (unicast packet in)
ifOutUcastPkts (unicast packet out)
ifInNUcastPkts (non-unicasts packet in
ifOutNUcastPkts (non-unicast packet out)
ifInOctets (octets in)
ifOutOctets (octets out)
ifOperStatus (line status)
3.3.2 Per Interface Variables in Internet Private Enterprise MIB
(thus could sometimes be possible to retrieve)
discarded packets in
discarded packets out
congestion events in
congestion events out
aggregate errors
interface resets
3.3.3 Per Interface Variables Needing High Resolution Polling
(which is hard due to resulting network load)
interface queue length
seconds missing stats
interface unavailable
route changes
interface next hop count
3.3.4 Per Interface Variables not in any MIB
(thus impossible to retrieve using SNMP but possible to include
in a MIB).
link layer packets in
link layer packets out
link layer octets in
link layer octets out
packet interarrival times
packet size distribution
3.3.5 Per Node Variables
(not categorized here)
per protocol packets in
per protocol packets out
per protocol octets in
per protocol octets out
packets discarded in
packets discarded out
packet size distribution
sys uptime
poll delta time
reboot count
3.3.6 Metrics not being Retrievable with SNMP
delays (RTTs) on different protocol layers
application layer availabilities
peak behavior metrics
3.4 Recommended Metrics
A large amount of metrics could be regarded for gathering in the
process of doing network statistics. To facilitate for this model to
reach general consensus there is a need to define a minimal set of
metrics that are both essential and also possible to retrieve in a
majority of today network objects. As an indication of being
generally retrievable the presence in the Internet Standard MIB is
regarded as a mandatory requirement.
3.4.1 Chosen Metrics
The following metrics were chosen as desirable and reasonable being
part of the Internet Standard MIB:
For each interface:
ifInOctets (octets in)
ifOutOctets (octets out)
ifInUcastPkts (unicast packets in)
ifOutUcastPkts (unicast packets out)
ifInNUcastPkts (non-unicast packets in)
ifOutNUcastPkts (non-unicast packets out)
ifInDiscards (in discards)
ifOutDiscards (out discards)
ifOperStatus (line status)
For each node:
ipForwDatagrams (IP forwards)
ipInDiscards (IP in discards)
sysUpTime (system uptime)
All of the above metrics are available in the Internet Standard MIB.
However, there also other metrics which could be recommended such as
the RTT metric which probably never will be in any MIB. For such
metrics other collection tools than SNMP have to be explicitly
defined. The specification of such tools are outside scope of this
memo.
4. Polling Frequencies
The reason for the polling is to achieve statistics to serve as base
for trend and capacity planning. From the operational data it shall
be possible to derive engineering and management data. It shall be
noted that all polling and saving values below are recommendation and
not mandatory.
4.1 Variables Needing High Resolution Polling
To be able to detect peak behaviors it is recommended that a period
of maximum 1 minute (60 seconds) is used in the gathering of traffic
data. The metrics to be gathered at this frequency is:
for each interface
ifInOctets (octets in)
ifOutOctets (octets out)
ifInUcastPkts (unicast packets in)
ifOutUcastPkts (unicast packets out)
If not possible to gather data at this high polling frequency, it is
recommended that an even multiple of 60 seconds is used. The initial
polling frequency value will be part of the stored statistical data
as described in section 4 below.
4.2 Variables not Needing High Resolution Polling
The other part of the recommended variables to be gathered, i.e.,
For each interface:
ifInNUcastPkts (non-unicast packets in)
ifOutNUcastPkts (non-unicast packets out)
ifInDiscards (in discards)
ifOutDiscards (out discards)
ifOperStatus (line status)
and for each node:
ipForwDatagrams (IP forwards)
ipInDiscards (IP in discards)
sysUpTime (system uptime)
These variables could be gathered at a lower polling rate. No
specific polling rate is mentioned but it is recommended that the
period chosen is an even multiple of 60 seconds.
5. Pre-Processing of Raw Statistical Data
5.1 Optimizing and Concentrating Data to Resources
To avoid redundant data being stored in commonly available storage
there is a need for processing the raw data. For example if a link is
down there is no need to continuous store a counter that is not
changing. Using variables such as sysUpTime and Line Status there is
the possibility of not continuously storing data collected from links
and nodes where no traffic have been transmitted over some period of
time.
Another aspect of processing is to decouple the data from the raw
interface being polled. The intention should be to convert such data
into the resource being of interest as for example the traffic on a
given link. Changes of interface in a gateway for a given link should
not be visible in the provided data.
5.2 Aggregation of Data
A polling period of 1 minute will create the need of aggregating
stored data. Aggregation here means that over a period with logged
entries, a new aggregated entry is created by taking the first and
last of the previously logged entries over some aggregation period
and compute a new entry.
Not to loose information on the peak values the aggregation also
means that the peak value of the previous aggregation period is
calculated and stored.
This gives below layout of aggregated entries
It is foreseen that over a relatively short period, polled data will
be logged at the tightest polling period (1 minute). Regularly these
data will be pre-processed into the actual files being provided.
Suggestions for aggregation periods:
Over a
24 hour period aggregate to 15 minutes,
1 month period aggregate to 1 hour,
1 year period aggregate to 1 day
Aggregation is the computation of new average and maximum values for
the aggregation period based on the previous aggregation period data.
For each aggregation period the maximum, and average values are
computed and stored. Also other aggregation period could be chosen
when needed. The chosen aggregation period value will be stored
together with the aggregated data as described below.
6. Storing of Statistical Data
This section describes a format for storing of statistical data. The
goal is to facilitate for a common set of tools for the gathering,
storing and analysis of statistical data. The format is defined with
the intention to minimize redundant information and by this minimize
required storage. If a client server based model for retrieving
remote statistical data is later being developed, the specified
storage format should be possible to used as the transmission
protocol.
The format is built up by three different sections within the
statistical storage, a label section, a device section and a data
section. The label section gives the start and end times for a given
data section as well as the file where the actual data is stored.
The device section specifies what is being logged in the
corresponding data section.
To facilitate for multiple data sections within one log-file, label
sections, device sections and data sections may occur more than once.
Each section type is delimited by a BEGIN-END pair. Label and device
sections could either be stored directly in the data-file or as
separate files where the corresponding data-file is pointed out by
the data-file entry in the label section.
A data section must correspond to exactly one label section and one
device section. If more label sections and device sections each data
section will belong to the label section and device section
immediately prepending the data section if these sections are stored
within the data-file. How files are physically arranged is outside
the scope of the document.
6.1 The Storage Format
stat-data ::=
<label-section><FS><device-section><FS><data-section><FS>
[<device-section><FS><data-section><FS>]
FS ::= "," <LF> <LF> # any text here <LF>
The file must start with a label specification followed by a device
specification followed by a data section. If the storing of logged
data is for some reason interrupted a new label specification should
be inserted when the storing is restarted. If the device being logged
is changed this should be indicated as a new label and a new device
specification.
It shall here be noted that the actual physical storage of data is a
local decision and can vary a lot. There can be one data-file per
interface or multiple interfaces logged within the same data-file.
Label and device sections may be stored in a separate file as well as
within the data-file.
6.1.1 The Label Section
label-section ::= "BEGIN_LABEL" <FS>
<start_time> <FS>
<stop_time> <FS>
<data_file> <FS>
"END_LABEL"
start-time ::= <time-string>
end-time ::= <time-string>
file-name ::= <ascii-string>
time-string ::= <year><month><day><hour><minute><second>
year ::= <digit><digit><digit><digit>
month ::= 01 ... 12
hour ::= 00 ... 23
minute ::= 00 ... 59
second ::= 00 ... 59
digit ::= 0 ... 9
ascii-string ::= same as MIB II definition of <ascii-string>
The times defines start and stop times for the related set of logged
data. The time is in UTC.
6.1.2 The Device Section
device-section ::= "BEGIN_DEVICE" <FS>
<device-field> <FS>
"END_DEVICE"
device-field ::= <networkname><FS><routername><FS><linkname><FS>
<bw-value><FS><bw-sort><FS><proto-type><FS>
<proto-addr><FS><time-zone><FS><tag-table>
[<tag-table>]
networkname ::= <ascii-string>
routername ::= <fully qualified domain name>
linkname ::= <ascii-string>
bw-value ::= <actual bandwidth value>
bw-sort ::= "bps" "Kbps" "Mbps" "Gbps" "Tbps"
proto-type ::= "IP" "DECNET" "X.25" "CLNS"
proto-addr ::= <network-address depending on proto-type>
timezone ::= <"+" "-"><00 ... 12><00 30>
tag-table ::= <tag><FS><tag-class><FS><variable-field>
[<FS><variable-field>]
tag-class ::= "total" "peak"
variable-field ::= <variable-name> <FS> <initial-polling-period><FS>
<aggregation-period>
tag ::= <ascii-string>
variable-name ::= <ascii-string>
initial-polling-period ::= <digit>[<digit>]
aggregation-period ::= <digit>[<digit>]
The network name is a human readable string indicating to which
network the logged data belong.
The routername is the fully qualified name relevant for the network
architecture where the router is installed.
The linkname is a human readable string indicating the the
connectivity of the link where from the logged data is gathered.
The bandwidth should be the numerical value followed by the sort
being used. Valid sorts are bps, Kbps, Mbps, Tbps.
The prototype filed describes to which network architecture the
interface being logged is connected. Valid types are IP, DECNET, X.25
and CLNP.
The network address is the unique numeric address of the interface
being logged. The actual form of this address is dependent of the
protocol type as indicated in the proto-type field. For Internet
connected interfaces the "three-dot" notation should be used.
The time-zone indicates the timedifference that should be added to
the timestamp in the datasection to give the local time for the
logged interface.
The tag-table lists all the variables being polled. Variable names
are the fully qualified Internet MIB names. The table may contain
multiple tags. Each tag must be associated with only one polling and
aggregation period. If variables are being polled or aggregated at
different periods one separate tag in the table has to be used for
each period.
As variables may be polled with different polling periods within the
same set of logged data, there is a need to explicitly associate a
polling period with each variable. After being processed the actual
period covered may have changed as compared to the initial polling
period and this should be noted in the aggregation period field. The
initial polling period and aggregation period should be given in
seconds.
As aggregation also means the computation of the max value for the
previously polled data, the aggregation process have to extend the
tag table to include these maximum values. This could be done in
different ways. The variable field for the aggregated variables is
extended to also include the peak values from the previous period.
Another possibility is to create new tags for the peak values. To be
able to differentiate between polled raw data, aggregated total and
aggregated peak values some kind of unique naming of such entities
has to be implemented.
6.1.3 The Data Section
data-section ::= "BEGIN_DATA"<FS>
<data-field><LF>
"END_DATA"
data-field ::= <timestamp><FS><tag><FS>
<poll-delta><FS><delta-val>
[<FS><delta-val>]
poll-delta ::= <digit> [<digit>]
tag ::= <ascii-string>
delta-value ::= <digit> [<digit>]
timestamp ::= <year><month><day><hour><minute><second>
year ::= <digit><digit><digit><digit>
month ::= 01 ... 12
hour ::= 00 ... 23
minute ::= 00 ... 59
second ::= 00 ... 59
digit ::= 0 ... 9
The datafield contains the polled data from a set of variables as
defined by the corresponding tag field. Each data field begins with
the timestamp for this poll followed by the tag defining the polled
variables followed by a polling delta value giving the period of time
in seconds since the previous poll. The variable values are stored as
delta values for counters and as absolute values for non-counter
values such as OperStatus. The timestamp is in UTC and the time-zone
field in the device section is used to compute the local time for the
device being logged.
6.2 Storage Requirement Estimations
The header sections are not counted in this example. Assuming the
the maximum polling intensity is used for all the 12 recommended
variables and assuming the size in ascii of each variable is 8 bytes
will give the below calculations based on one year of storing and
aggregating statistical data.
Assuming that data is saved according to the below scheme
1 minute non-aggregated saved 1 day.
15 minute aggregation period saved 1 week.
1 hour aggregation period saved 1 month.
1 day aggregation period saved 1 year.
this will give:
Size of one entry for each aggregation period:
Aggregation periods
1 min 15 min 1 hour 1 day
Timestamp 14 14 14 14
Tag 5 5 5 5
Poll-Delta 2 3 4 5
Total values 96 96 96 96
Peak values 0 96 192 288
Field separators 14 28 42 56
Total entry size 131 242 353 464
For each day 60*24 = 1440 entries with a total size of 1440*131 = 187
Kbytes.
For each weak 4*24*7 = 672 entries are stored with a total size of
672*242 = 163 Kbytes
For each month 24*30 = 720 entries are stored with a total size of
720*353 = 254 Kbytes
For each year 365 entries are stored with a total size of 365*464 =
169 Kbytes.
Grand total estimated storage for during one year = 773 Kbytes.
7. Report Formats
This section suggest some report formats and defines the metrics to
be used in such reports.
7.1 Report Types and Contents
There is the longer term needs for monthly and yearly reports showing
the long term tendencies in the network. There are the short term
weekly reports giving indications on the medium term changes in the
network behavior which could serve as input in the medium term
engineering approach. Finally there is the daily reports giving
instantaneous overviews needed in the daily operations of a network.
These reports should give information on:
Offered Load Total traffic at external interfaces.
Offered Load Segmented by "Customer".
Offered Load Segmented protocol/application.
Resource Utilization Link/Router.
7.2 Contents of the Reports
7.2.1 Offered Load by Link
Metric categories: input octets per external interface
output octets per external interface
input packets per external interface
output packets per external interface
The intention is to visualize the overall trend of network traffic on
each connected external interface. This could be done as a bar-chart
giving the totals for each of the four metric categories. Based on
the time period selected this could be done on a hourly, daily,
monthly or yearly basis.
7.2.2 Offered Load by Customer
Metric categories: input octets per customer
output octets per customer
input packets per customer
output packets per customer
The recommendation is here to sort the offered load (in decreasing
order) by customer. Plot the function F(n), where F(n) is percentage
of total traffic offered to the top n customers or the function f(n)
where f is the percentage of traffic offered by the n'th ranked
customers.
The definition of what should be meant by a customer has to be done
locally at the site where the statistics are being gathered.
The cumulative could be useful as an overview of how the traffic is
distributed among users since it enables to quickly pick off what
fraction of of the traffic comes from what number of "users."
A method of displaying both average and peak-behaviors in the same
bar-diagram is to compute both the average value over some period and
the peak value during the same period. The average and peak values
are then displayed in the same bar.
7.2.3 Resource Utilization Reporting
7.2.3.1 Utilization as Maximum Peak Behavior
The link utilization is used to capture information on network
loading. The polling interval must be small enough to be significant
with respect to variations in human activity since this is the
activity that drives loading in network variation. On the other hand,
there is no need to make it smaller than an interval over which
excessive delay would notably impact productivity. For this reason 30
minutes is a good estimate the time at which people remain in one
activity and over which prolonged high delay will affect their
productivity. To track 30 minute variations, there is a need to
sample twice as frequently, i.e., every 15 minutes. Using above
recommended polling period of 10 minutes this will hence be
sufficient to capture variations in utilizations.
A possible format for reporting utilizations seen as peak behaviors
is to use a method of combining averages and peak measurements onto
the same diagram. Compare for example peak-meters on audio-equipment.
If for example a diagram contains the daily totals for some period,
then the peaks would be the most busy hour during each day. If the
diagram was totals on hourly basis then the peak would be the maximum
10 minutes period for each hour.
By combining the average and the maximum values for a certain
timeperiod it will be possible to detect line utilization and
bottlenecks due to temporary high loads.
7.2.3.2 Utilization Visualized as a Frequency Distribution of Peaks
Another way of visualizing line utilization is to put the 10 minutes
samples in a histogram showing the relative frequency among the
samples vs. the load.
8. Considerations for Future Development
This memo is the first effort in formalizing a common basis for
operational statistics. One major guideline in this work has been to
keep the model simple to facilitate for vendors and NOCs to easily
integrate this model in their operational tools.
There are, however, some ideas that could be progressed further to
expand the scope and usability of the model.
8.1 A Client/Server Based Statistical Exchange System
A possible way of development could be the definition of a
client/server based architecture for providing Internet access to
operational statistics. Such an architecture envisions that each NOC
should install a server who provides locally collected information in
a variety of forms for clients.
Using a query language the client should be able to define the
network object, the interface, the metrics and the time period to be
provided. Using a TCP based protocol the server will transmit the
requested data. Once these data is received by the client they could
be processed and presented by a variety of tools needed. One
possibility is to have an X-Window based tool that displays defined
diagrams from data, supporting such types of diagrams being feed into
the X-window tool directly from the statistical server. Another
complementary method would be to generate PostScript output to be
able to print the diagrams. In all cases there should be the
possibility to store the retrieved data locally for later processing.
8.2 Inclusion of Variables not in the Internet Standard MIB
As has been pointed out above in the categorization of metrics there
are metrics which certainly could have been recommended if being
available in the Internet Standard MIB. To facilitate for such
metrics to be part of the set of recommended metrics it will be
necessary to specify a subtree in the Internet Standard MIB
containing variables judged necessary in the scope of performing
operational statistics.
8.3 Detailed Resource Utilization Statistics
One area of interest not covered in the above description of metrics
and presentation formats is to present statistics on detailed views
of the traffic flows. Such views could include statistics on a per
application basis and on a per protocol basis. Today such metrics are
not part of the Internet Standard MIB. Tools like the NSF NNStat are
being used to gather information of this kind. A possible way to
achieve such data could be to define a NNStat MIB or to include such
variables in the above suggested operational statistics MIB subtree.
APPENDIX A
Some formulas for statistical aggregation
The following naming conventions are being used:
For poll values poll(n)_j
n = Polling or aggregation period
j = Entry number
poll(900)_j is thus the 15 minute total value.
For peak values peak(n,m)_j
n = Period over which the peak is calculated
m = The peak period length
j = Entry number
peak(3600,900)_j is thus the maximum 15 minute period calculated
over 1 hour.
Assume a polling over 24 hour period giving 1440 logged entries.
=========================
Without any aggregation we have
poll(60)_1
......
poll(60)_1439
========================
15 minute aggregation will give 96 entries of total values
poll(900)_1
....
poll(900)_96
j=(n+14)
poll(900)_k = SUM poll(60)_j n=1,16,31,...1425
j=n k=1,2,....,96
There will also be 96 1 minute peak values.
j=(n+14)
peak(900,60)_k = MAX poll(60)_000j n=1,16,31,....,1425
j=n k=1,2,....,96
=======================
Next aggregation step is from 15 minute to 1 hour.
This gives 24 totals
j=(n+3)
poll(3600)_k = SUM poll(900)_j n=1,5,9,.....,93
j=n k=1,2,....,24
and 24 1 minute peaks calculated over each hour.
j=(n+3)
peak (3600,60)_k = MAX peak(900,60)_j n=1,5,9,.....,93
j=n k=1,2,....24
and finally 24 15 minute peaks calculated over each hour.
j=(n+3)
peak (3600,900) = MAX poll(900)_j n=1,5,9,.....,93
j=n
===================
Next aggregation step is from 1 hour to 24 hour
For each day with 1440 entries as above this will give
j=(n+23)
poll(86400)_k = SUM poll(3600)_j n=1,25,51,.......
j=n k=1,2............
j=(n+23)
peak(86400,60)_k = MAX peak(3600,60)_j n=1,25,51,....
j=n k=1,2.........
which gives the busiest 1 minute period over 24 hours.
j=(n+23)
peak(86400,900)_k = MAX peak(3600,900)_j n=1,25,51,....
j=n k=1,2,........
which gives the busiest 15 minute period over 24 hours.
j=(n+23)
peak(86400,3600)_k = MAX poll(3600)_j n=1,25,51,....
j=n k=1,2,........
which gives the busiest 1 hour period over 24 hours.
===================
There will probably be a difference between the three peak values in
the final 24 hour aggregation. Smaller peak period will give higher
values than longer, i.e., if adjusted to be numerically comparable.
poll(86400)/3600 < peak(86400,3600) < peak(86400,900)*4
< peak(86400,60)*60
APPENDIX B
An example
Assuming below data storage:
BEGIN_DEVICE
....
UNI-1,total,ifInOctet, 60, 60,ifOutOctet, 60, 60
BRD-1,total,ifInNUcastPkts,300,300,ifOutNUcastPkts,300,300
....
which gives
BEGIN_DATA
19920730000000,UNI-1,60, val1-1,val2-1
19920730000060,UNI-1,60, val1-2,val2-2
19920730000120,UNI-1,60, val1-3,val2-3
19920730000180,UNI-1,60, val1-4,val2-4
19920730000240,UNI-1,60, val1-5,val2-5
19920730000300,UNI-1,60, val1-6,val2-6
19920730000300,BRD-1,300, val1-7,val2-7
19920730000360,UNI-1,60, val1-8,val2-8
...
Aggregation to 15 minutes gives
BEGIN_DEVICE
....
UNI-1,total,ifInOctet, 60,900,ifOutOctet, 60,900
BRD-1,total,ifInNUcastPkts,300,900,ifOutNUcastPkts,300,900
UNI-2,peak, ifInOctet, 60,900,ifOutOctet, 60,900
BRD-2,peak, ifInNUcastPkts,300,900,ifOutNUcastPkts,300,900
....
where UNI-1 is the 15 minute total
BRD-1 is the 15 minute total
UNI-2 is the 1 minute peak over 15 minute (peak = peak(1))
BRD-2 is the 5 minute peak over 15 minute (peak = peak(1))
which gives
BEGIN_DATA
19920730000900,UNI-1,900, tot-val1,tot-val2
19920730000900,BRD-1,900, tot-val1,tot-val2
19920730000900,UNI-2,900, peak(1)-val1,peak(1)-val2
19920730000900,BRD-2,900, peak(1)-val1,peak(1)-val2
19920730001800,UNI-1,900, tot-val1,tot-val2
19920730001800,BRD-1,900, tot-val1,tot-val2
19920730001800,UNI-2,900, peak(1)-val1,peak(1)-val2
19920730001800,BRD-2,900, peak(1)-val1,peak(1)-val2
......
Next aggregation step to 1 hour generates:
BEGIN_DEVICE
....
UNI-1,total,ifInOctet, 60,3600,ifOutOctet, 60,3600
BRD-1,total,ifInNUcastPkts,300,3600,ifOutNUcastPkts,300,3600
UNI-2,peak,ifInOctet, 60,3600,ifOutOctet, 60,3600
BRD-2,peak,ifInNUcastPkts, 300, 900,ifOutNUcastPkts,300, 900
UNI-3,peak,ifInOctet, 900,3600,ifOutOctet, 900,3600
BRD-3,peak,ifInNUcastPkts, 900,3600,ifOutNUcastPkts,900,3600
where
UNI-1 is the one hour total
BRD-1 is the one hour total
UNI-2 is the 1 minute peak over 1 hour (peak of peak = peak(2))
BRD-2 is the 5 minute peak over 1 hour (peak of peak = peak(2))
UNI-3 is the 15 minute peak over 1 hour (peak = peak(1))
BRD-3 is the 15 minute peak over 1 hour (peak = peak(1))
which gives
BEGIN_DATA
19920730003600,UNI-1,3600, tot-val1,tot-val2
19920730003600,BRD-1,3600, tot-val1,tot-val2
19920730003600,UNI-2,3600, peak(2)-val1,peak(2)-val2
19920730003600,BRD-2,3600, peak(2)-val1,peak(2)-val2
19920730003600,UNI-3,3600, peak(1)-val1,peak(1)-val2
19920730003600,BRD-3,3600, peak(1)-val1,peak(1)-val2
19920730007200,UNI-1,3600, tot-val1,tot-val2
19920730007200,BRD-1,3600, tot-val1,tot-val2
19920730007200,UNI-2,3600, peak(2)-val1,peak(2)-val2
19920730007200,BRD-2,3600, peak(2)-val1,peak(2)-val2
19920730007200,UNI-3,3600, peak(1)-val1,peak(1)-val2
19920730007200,BRD-3,3600, peak(1)-val1,peak(1)-val2
......
Finally aggregation step to 1 day generates:
UNI-1,total,ifInOctet,60,86400,ifOutOctet,60,86400
BRD-1,total,ifInNUcastPkts,300,86400,ifOutNUcastPkts,300,86400
UNI-2,peak,ifInOctet,60,86400,ifOutOctet,60,86400
BRD-2,peak,ifInNUcastPkts,300,900,ifOutNUcastPkts,300,900
UNI-3,peak,ifInOctet,900,86400,ifOutOctet,900,86400
BRD-3,peak,ifInNUcastPkts,900,86400,ifOutNUcastPkts,900,86400
UNI-4,peak,ifInOctet,3600,86400,ifOutOctet,3600,86400
BRD-4,peak,ifInNUcastPkts,3600,86400,ifOutNUcastPkts,3600,86400
where
UNI-1 is the 24 hour total
BRD-1 is the 24 hour total
UNI-2 is the 1 minute peak over 24 hour
(peak of peak of peak = peak(3))
UNI-3 is the 15 minute peak over 24 hour (peak of peak = peak(2))
UNI-4 is the 1 hour peak over 24 hour (peak = peak(1))
BRD-2 is the 5 minute peak over 24 hour
(peak of peak of peak = peak(3))
BRD-3 is the 15 minute peak over 24 hour (peak of peak = peak(2))
BRD-4 is the 1 hour peak over 24 hour (peak = peak(1))
which gives
BEGIN_DATA
19920730086400,UNI-1,86400, tot-val1,tot-val2
19920730086400,BRD-1,86400, tot-val1,tot-val2
19920730086400,UNI-2,86400, peak(3)-val1,peak(3)-val2
19920730086400,BRD-2,86400, peak(3)-val1,peak(3)-val2
19920730086400,UNI-3,86400, peak(2)-val1,peak(2)-val2
19920730086400,BRD-3,86400, peak(2)-val1,peak(2)-val2
19920730086400,UNI-4,86400, peak(1)-val1,peak(1)-val2
19920730086400,BRD-4,86400, peak(1)-val1,peak(1)-val2
19920730172800,UNI-1,86400, tot-val1,tot-val2
19920730172800,BRD-1,86400, tot-val1,tot-val2
19920730172800,UNI-2,86400, peak(3)-val1,peak(3)-val2
19920730172800,BRD-2,86400, peak(3)-val1,peak(3)-val2
19920730172800,UNI-3,86400, peak(2)-val1,peak(2)-val2
19920730172800,UNI-3,86400, peak(2)-val1,peak(2)-val2
19920730172800,UNI-4,86400, peak(1)-val1,peak(1)-val2
19920730172800,BRD-4,86400, peak(1)-val1,peak(1)-val2
......
Security Considerations
Security issues are discussed in Section 2.4.
Author's Address
Bernhard Stockman
NORDUnet/SUNET NOC
Royal Institute of Technology
Drottning Kristinas Vag 37B
S-100 44 Stockholm, Sweden
Phone: +46 8 790-6519
Fax : +46 8 241-179
Email: boss@sunet.se