Accounting Requirements for IPng
A proposal to carry accounting information in IPng packets.
Brownlee, N., "Accounting Requirements for IPng", RFC 1672, DOI 10.17487/RFC1672, August 1994, <https://www.rfc-editor.org/info/rfc1672>.
@misc{rfc1672,
series = {Request for Comments},
number = 1672,
howpublished = {RFC 1672},
publisher = {RFC Editor},
doi = {10.17487/RFC1672},
url = {https://www.rfc-editor.org/info/rfc1672},
author = {N. Brownlee},
title = {{Accounting Requirements for IPng}},
pagetotal = 3,
year = 1994,
month = aug,
} RFC text
Contents
Network Working Group N. Brownlee
Request for Comments: 1672 The University of Auckland
Category: Informational August 1994
Accounting Requirements for IPng
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
Abstract
This document was submitted to the IETF IPng area in response to RFC
1550. Publication of this document does not imply acceptance by the
IPng area of any ideas expressed within. Comments should be
submitted to the big-internet@munnari.oz.au mailing list.
Summary
This white paper discusses accounting requirements for IPng. It
recommends that all IPng packets carry accounting tags, which would
vary in size. In the simplest case a tag would simply be a voucher
identifying the party responsible for the packet. At other times tags
should also carry other higher-level accounting information.
Background
The Internet Accounting Model - described in RFC 1272 - specifies how
accounting information is structured, and how it is collected for use
by accounting aplications. The model is very general, with
accounting variables being defined for various layers of a protocol
stack. The group's work has so far concentrated on the lower layers,
but the model can be extended simply by defining the variables
required, e.g., for session and application layers.
Brian Carpenter [1] suggests that IPng packets should carry
authenticated (source, destination, transaction) triplets, which
could be used for policy-based routing and accounting. The following
sections explain how the transaction field - hereafter called an
'accounting tag' - could be used.
Lower-layer (Transport) Accounting
At the lower (network) layers the tag would simply be a voucher. This
means it is an arbitrary string which identifies the party
responsible, i.e., willing to pay for, a packet. It would initially
be set by the host which originates the packet, hence at that stage
the tag would identify the user who sent it.
A tag could be changed at various points along a packet's path. This
could be done as part of the routing policy processing so as to
reflect changes of the party responsible over each section of the
path. For example:
user - provider tag identifies user
provider A - provider B tag identifies provider A
The tag could be used by accounting meters to identify the party
responsible for a traffic flow, without having to deduce this using
tables of rules. This should considerably simplify accounting for
transit traffic across intermediate networks.
Higher-layer (Session and Application) Accounting
At higher layers there is a clear need to measure accounting
variables and communicate them to various points along a packet's
path, for example an application server may wish to inform a client
about its usage of resources. A tag containing this information could
be read by meters at any point along the packet's path for charging
purposes, and could also be used by the client to inform the user of
charges incurred.
It would make the collection of accounting data much simpler if this
information was carried in a standard tag within each packet, rather
than having different protocols provide this service in differing
ways.
For 'old' applications which remain unaware of the tag field, a meter
could be placed at a gateway for the application's host. This
'gateway' meter could determine what the application is by watching
its streams of packets, then set an appropriate value in thir tag
fields.
Structure of the accounting tag
The two uses of tags outlined above must be able to coexist. Since
many - indeed most - of the packets will only carry a voucher, it
seems simplest to keep this as part of the routing tuple (see below).
For the application variables, a separate tag seems sensible. This
would simply contain a list of the variables. Having two tags in
this way would keep separate the management of routers and meters.
If the encryption/digital signature overhead of the second tag proves
to be too high, it should be possible to combine this with the
voucher.
The fine detail of this, or at least the way variables are packed
into the tags, could be standardised by the Accounting Working Group
in due course. For the purpose of IPng all that is required is the
ability to carry one or two variable-size objects in every packet.
References
[1] Carpenter, B., "IPng White Paper on Transition and Other
Considerations", RFC 1671, CERN, August 1994.
Security Considerations
For IPng to provide reliable transport in a hostile environment,
routing and accounting information, i.e., the (source, dest,
network-tag) and (application-tag) tuples, must be tamper-proof.
Routers and meters which need to use the tuples will need to hold
appropriate keys for them. Network operators will have to plan
for this, for example by determining which routers need which
sets of keys. This will be neccessary in any case for reliable
policy-based routing, so the extra work required to set up
accounting meters should be acceptable.
Author's Address
Nevil Brownlee
Deputy Director
Computer Centre, The University of Auckland
Private Bag 92019, Auckland, New Zealand
Phone: +64 9 373 7599
Fax: +64 9 373 7425
EMail: n.brownlee@auckland.ac.nz
ISO Plain Language
On this page
§1Why Put Accounting Tags in Packets
The RFC discusses accounting requirements for IPng and builds on the Internet Accounting Model in RFC 1272. It refers to a proposal for authenticated source, destination, and transaction information in IPng packets, and calls the transaction information an accounting tag.
The memo recommends tags that can identify the party responsible for a packet and, in some cases, carry other accounting variables.
The proposal puts accounting information in packets so network meters can use it. The simplest tag identifies who is responsible for a packet.
§2How the Tags Could Be Used
At the network layer, a tag would act as a voucher: an arbitrary string identifying the party willing to pay for a packet. The originating host would set it, and routing policy could change it along the path to reflect a change in responsibility.
At session or application layers, a tag could carry accounting variables for meters and could help an application inform a client about resource use or charges. The memo says a gateway meter could set tag values for applications that do not know about the tag field.
A voucher tag could identify who pays as a packet crosses networks. A separate tag could carry information about resource use for an application or meter.
§3One or Two Variable-Size Objects
The memo suggests keeping the voucher as part of the routing tuple and using a separate tag for application variables. This separation would keep router and meter management distinct. If encryption or digital-signature overhead for a second tag proved too high, the tags could be combined.
The RFC leaves the detailed format and packing of variables for later standardization. For IPng, it says only that the packet should be able to carry one or two variable-size objects.
The RFC does not define the tags' exact encoding. It proposes that IPng packets have room for one or two variable-size accounting objects.
§4Protecting Accounting Information
The RFC says routing and accounting information must be tamper-proof for reliable transport in a hostile environment. Routers and meters that use the information need appropriate keys, and network operators must plan which routers need which keys.
Accounting tags must be protected against changes. Routers and meters need keys to check the information they use.