1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
|
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
Stockman [Page 1]
^L
RFC 1404 Operational Statistics January 1993
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.
Stockman [Page 2]
^L
RFC 1404 Operational Statistics January 1993
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.)
Stockman [Page 3]
^L
RFC 1404 Operational Statistics January 1993
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) !
!-------------------!
Stockman [Page 4]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 5]
^L
RFC 1404 Operational Statistics January 1993
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.
Stockman [Page 6]
^L
RFC 1404 Operational Statistics January 1993
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:
Stockman [Page 7]
^L
RFC 1404 Operational Statistics January 1993
- 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)
Stockman [Page 8]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 9]
^L
RFC 1404 Operational Statistics January 1993
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.
Stockman [Page 10]
^L
RFC 1404 Operational Statistics January 1993
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.
Stockman [Page 11]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 12]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 13]
^L
RFC 1404 Operational Statistics January 1993
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>
Stockman [Page 14]
^L
RFC 1404 Operational Statistics January 1993
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.
Stockman [Page 15]
^L
RFC 1404 Operational Statistics January 1993
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.
Stockman [Page 16]
^L
RFC 1404 Operational Statistics January 1993
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.
Stockman [Page 17]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 18]
^L
RFC 1404 Operational Statistics January 1993
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.
Stockman [Page 19]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 20]
^L
RFC 1404 Operational Statistics January 1993
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)
Stockman [Page 21]
^L
RFC 1404 Operational Statistics January 1993
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)
Stockman [Page 22]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 23]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 24]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 25]
^L
RFC 1404 Operational Statistics January 1993
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
......
Stockman [Page 26]
^L
RFC 1404 Operational Statistics January 1993
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
Stockman [Page 27]
^L
|