[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]
Versions: (draft-clausen-manet-timetlv) 00 01
02 03 04 05 06 07 08 RFC 5497
Mobile Ad hoc Networking (MANET) T. Clausen
Internet-Draft LIX, Ecole Polytechnique, France
Intended status: Standards Track C. Dearlove
Expires: May 18, 2008 BAE Systems Advanced Technology
Centre
November 15, 2007
Representing multi-value time in MANETs
draft-ietf-manet-timetlv-03
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 18, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Clausen & Dearlove Expires May 18, 2008 [Page 1]
Internet-Draft Time TLV November 2007
Abstract
This document describes a general and flexible TLV (type-length-value
structure) for representing time using the generalized MANET packet/
message format. It defines two message and two address block TLVs
for representing validity and interval times for MANET routing
protocols.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Applicability Statement . . . . . . . . . . . . . . . . . . . 5
4. Protocol Overview and Functioning . . . . . . . . . . . . . . 6
5. Representing Time . . . . . . . . . . . . . . . . . . . . . . 7
6. General Time TLV Structure . . . . . . . . . . . . . . . . . . 8
7. Message TLVs . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.1. VALIDITY_TIME TLV . . . . . . . . . . . . . . . . . . . . 10
7.2. INTERVAL_TIME TLV . . . . . . . . . . . . . . . . . . . . 10
8. Address Block TLVs . . . . . . . . . . . . . . . . . . . . . . 11
8.1. VALIDITY_TIME TLV . . . . . . . . . . . . . . . . . . . . 11
8.2. INTERVAL_TIME TLV . . . . . . . . . . . . . . . . . . . . 11
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
9.1. Message TLV tyepes . . . . . . . . . . . . . . . . . . . . 12
9.2. Address Block TLV tyepes . . . . . . . . . . . . . . . . . 13
10. Security Considerations . . . . . . . . . . . . . . . . . . . 14
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
11.1. Normative References . . . . . . . . . . . . . . . . . . . 15
11.2. Informative References . . . . . . . . . . . . . . . . . . 15
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17
Intellectual Property and Copyright Statements . . . . . . . . . . 18
Clausen & Dearlove Expires May 18, 2008 [Page 2]
Internet-Draft Time TLV November 2007
1. Introduction
The generalized packet/message format [1] specifies a signaling
format which MANET routing protocols can employ for exchanging
protocol information. This format presents the ability to express
and associate attributes to packets, messages or addresses, by way of
a general TLV (type-length-value) mechanism.
This document specifies a general Time TLV structure, which can be
used by any MANET routing protocol that needs to express either
single time-values or a set of time-values with each time-value
associated with a range of distances. Distances may be equated to
hop count, as provided by [1]. This allows a receiving node to
determine a single time-value if either it knows its distance from
the originator node, or the Time TLV specifies a single time-value.
This document also specifies two message TLV types, which use the TLV
structure proposed. These TLV types are INTERVAL_TIME and
VALIDITY_TIME, specifying respectively the maximum time before
another message of the same type as this message from the same
originator should be received, and the duration for which the
information in this message is valid after receipt. Note that, if
both are present, then the latter will usually be greater than the
former in order to allow for possible message loss.
This document also specifies two address block TLV types, which use
the TLV structure proposed. These TLV types are INTERVAL_TIME and
VALIDITY_TIME, defined equivalently to the two message TLVs with the
same names.
Clausen & Dearlove Expires May 18, 2008 [Page 3]
Internet-Draft Time TLV November 2007
2. Terminology
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [2].
Additionally, this document uses terminology from [1], and introduces
the following terminology:
Distance - the distance from the message originator to the message
recipient. If the distance is equated to the messages hop count,
then this may be indicated using the <hop-count> field in the full
message header defined in [1], after being incremented on
reception.
Time-value - a time, measured in seconds.
Time-code - an 8 bit field, representing a time-value.
Clausen & Dearlove Expires May 18, 2008 [Page 4]
Internet-Draft Time TLV November 2007
3. Applicability Statement
The TLV described in this document is applicable whenever a single
time-value, or a time-value that varies with distance from the
originator of a message, is required in a protocol using the
generalized MANET packet/message format [1].
Examples of time-values that may be included in a protocol message
are:
o The maximum time interval until the next message of the same type
is to be generated by the message's originator node.
o The validity time of the information with which the time-value is
associated.
Either of these may vary with the distance between the originating
and receiving nodes, e.g. if messages of the same type are sent with
different hop limits as defined in [1].
Parts of this document have been generalized from material in the
proactive MANET routing protocol OLSR (The Optimized Link State
Routing Protocol) [4].
Clausen & Dearlove Expires May 18, 2008 [Page 5]
Internet-Draft Time TLV November 2007
4. Protocol Overview and Functioning
This document does not specify a protocol nor does it mandate
specific node or protocol behavior. Rather, it outlines mechanisms
for encoding time-values using the TLV mechanism of [1].
Clausen & Dearlove Expires May 18, 2008 [Page 6]
Internet-Draft Time TLV November 2007
5. Representing Time
This document specifies a TLV structure in which time-values are each
represented in an 8 bit time-code, one or more of which may be used
in a TLV's <value> field. Of these 8 bits, the least significant 3
bits represent the mantissa (a), and the most significant 5 bits
represent the exponent (b), so that:
o time-value = (1 + a/8) * 2^b * C
o time-code = 8 * b + a
All nodes in the network MUST use the same value of the constant C,
which will be specified in seconds, hence so will be all time-values.
C MUST be greater than 0 seconds. Note that ascending values of the
time-code represent ascending time-values, time-values may thus be
compared by comparison of time-codes.
An algorithm for computing the time-code representing the smallest
representable time-value not less than the time-value t is:
1. find the largest integer b such that t/C >= 2^b;
2. set a = 8 * (t / (C * 2^b) - 1), rounded up to the nearest
integer;
3. if a == 8 then set b = b + 1 and set a = 0;
4. if 0 <= a <= 7, and 0 lt;= b <= 31, then the required time-value
can be represented by the time-code 8 * b + a, otherwise it can
not.
The minimum time-value that can be represented in this manner is C.
The maximum time-value that can be represented in this manner is 15 *
2^28 * C, or about 4.0 * 10^9 * C. If, for example, C = 1/1024
second, then this is about 45 days.
A protocol using this time representation MUST define the value of C.
A protocol using this specification MAY specify that the all bits
zero time-value (0) represents a time-value of zero and/or that the
all bits one time-value (255) represents an indefinitely large time-
value.
Clausen & Dearlove Expires May 18, 2008 [Page 7]
Internet-Draft Time TLV November 2007
6. General Time TLV Structure
A Time TLV may be a packet, message or address block TLV. If it is a
packet or message TLV then it must be a single value TLV as defined
in [1]. If it is an address block TLV then it may be single value or
multivalue TLV. Note that even a single value Time TLV may contain a
multiple octet <value> field.
The purpose of a single value Time TLV is to allow a single time-
value to be determined by a node receiving an entity containing the
Time TLV, based on its distance from the entity's originator. The
Time TLV may contain information that allows that time-value to be a
function of distance, and thus different receiving nodes may
determine different time-values. If a receiving node will not be
able to determine its distance from the originating node, then the
form of this Time TLV with a single time-code in a <value> field (or
single value subfield) SHOULD be used.
The <value> field of a single value Time TLV is specified, using the
regular expression syntax of [1], by:
<value> = {<time><distance>}*<time>
where:
<time> is an 8 bit field containing a time-code as defined in
Section 5.
<distance> is an 8 bit field specifying a distance from the message
originator.
A single value <value> field thus consists of an odd number of
octets; with a repetition factor of n for the (time, distance) pairs
in the regular expression syntax it contains 2n+1 octets, thus the
<length> field of a single value Time TLV, which MUST always be
present, is given by:
o <length> = 2n+1
A single value <value> field may be thus represented by:
<t_1><d_1><t_2><d_2> ... <t_i><d_i> ... <t_n><d_n><t_default>
<d_1>, ... <d_n>, if present, MUST be a strictly increasing sequence.
Then, at the receiving node's distance from the originator node, the
time-value indicated is that represented by the time-code:
Clausen & Dearlove Expires May 18, 2008 [Page 8]
Internet-Draft Time TLV November 2007
o <t_1>, if n > 0 and distance <= <d_1>;
o <t_i+1>, if n > 1 and <d_i> < distance <= <d_i+1> for some i such
that 1 <= i < n;
o <t_default> otherwise, i.e. if n == 0 or distance > <d_n>.
In a multivalue Time TLV, each single value subfield of the
multivalue Time TLV is defined as above. Note that [1] requires that
each single value subfield has the same length (i.e. the same value
of n) but they need not use the same values of <d_1> to <d_n>.
Clausen & Dearlove Expires May 18, 2008 [Page 9]
Internet-Draft Time TLV November 2007
7. Message TLVs
Two message TLVs are defined, for signaling message validity time
(VALIDITY_TIME) and message interval (INTERVAL_TIME).
7.1. VALIDITY_TIME TLV
A VALIDITY_TIME TLV is a message TLV that defines the validity time
of the information carried in the message in which the TLV is
contained. After this time the receiving node MUST consider the
message content to no longer be valid (unless repeated in a later
message). The validity time of a message MAY be specified to depend
on the distance from its originator. (This is appropriate if
messages are sent with different hop limits, so that receiving nodes
at greater distances receive information less frequently and must
treat is as valid for longer.)
A message MUST NOT include more than one VALIDITY_TIME TLV.
A VALIDITY_TIME TLV is an example of a Time TLV specified as in
Section 5.
7.2. INTERVAL_TIME TLV
An INTERVAL_TIME TLV is a message TLV that defines the maximum time
before another message of the same type as this message from the same
originator should be received. This interval time MAY be specified
to depend on the distance from the originator. (This is appropriate
if messages are sent with different hop limits, so that receiving
nodes at greater distances have an increased interval time.)
A message MUST NOT include more than one INTERVAL_TIME TLV.
An INTERVAL_TIME TLV is an example of a Time TLV specified as in
Section 5.
Clausen & Dearlove Expires May 18, 2008 [Page 10]
Internet-Draft Time TLV November 2007
8. Address Block TLVs
Two address block TLVs are defined, for signaling address validity
time (VALIDITY_TIME) and address advertisement interval
(INTERVAL_TIME).
8.1. VALIDITY_TIME TLV
A VALIDITY_TIME TLV is an address block TLV that defines the validity
time of the addresses to which the TLV is associated. After this
time the receiving node MUST consider the addresses to no longer be
valid (unless these are repeated in a later message). The validity
time of an address MAY be specified to depend on the distance from
its originator. (This is appropriate if addresses are contained in
messages sent with different hop limits, so that receiving nodes at
greater distances receive information less frequently and must treat
is as valid for longer.)
A protocol using this TLV and the similarly named message TLV MUST
specify how to interpret the case when both are present (typically
that the former over-rides the latter for those addresses which are
covered by the former).
A VALIDITY_TIME TLV is an example of a Time TLV specified as in
Section 5.
8.2. INTERVAL_TIME TLV
An INTERVAL_TIME TLV is an address block TLV that defines the maximum
time before this address from the same originator should be received.
This interval time MAY be specified to depend on the distance from
the originator. (This is appropriate if addresses are contained in
messages sent with different hop limits, so that receiving nodes at
greater distances have an increased interval time.)
A protocol using this TLV and the similarly named message TLV MUST
specify how to interpret the case when both are present (typically
that the former over-rides the latter for those addresses which are
covered by the former).
An INTERVAL_TIME TLV is an example of a Time TLV specified as in
Section 5.
Clausen & Dearlove Expires May 18, 2008 [Page 11]
Internet-Draft Time TLV November 2007
9. IANA Considerations
This specification defines two message TLV types, which must be
allocated from the "Assigned Message TLV Types" repository of [1] as
specified in Table 1 and two address block TLV types, which must be
allocated from the "Assigned Address Block TLV Types" repository of
[1] as specified in Table 2.
IANA is requested to assign the same numerical value to the message
TLV and address block TLV types with the same mnemonic.
9.1. Message TLV tyepes
+---------------+------+-----------+--------------------------------+
| Name | Type | Type | Description |
| | | Extension | |
+---------------+------+-----------+--------------------------------+
| VALIDITY_TIME | TBD1 | 0 | The time from receipt of the |
| | | | message during which the |
| | | | information contained in the |
| | | | message is to be considered |
| | | | valid |
| | | | |
| | | 1-255 | RESERVED |
| | | | |
| INTERVAL_TIME | TBD2 | 0 | The maximum time before |
| | | | another message of the same |
| | | | type as this message from the |
| | | | same originator should be |
| | | | received |
| | | | |
| | | 1-255 | RESERVED |
+---------------+------+-----------+--------------------------------+
Table 1
Type extensions indicated as RESERVED may be allocated by standards
action, as specified in [3].
Clausen & Dearlove Expires May 18, 2008 [Page 12]
Internet-Draft Time TLV November 2007
9.2. Address Block TLV tyepes
+---------------+------+-----------+--------------------------------+
| Name | Type | Type | Description |
| | | extension | |
+---------------+------+-----------+--------------------------------+
| VALIDITY_TIME | TBD1 | 0 | The time from receipt of the |
| | | | address during which the |
| | | | information regarding this |
| | | | address is to be considered |
| | | | valid |
| | | | |
| | | 1-255 | RESERVED |
| | | | |
| INTERVAL_TIME | TBD2 | 0 | The maximum time before |
| | | | another message of the same |
| | | | type as this message from the |
| | | | same originator and containing |
| | | | this address should be |
| | | | received |
| | | | |
| | | 1-255 | RESERVED |
+---------------+------+-----------+--------------------------------+
Table 2
Type extensions indicated as RESERVED may be allocated by standards
action, as specified in [3].
Clausen & Dearlove Expires May 18, 2008 [Page 13]
Internet-Draft Time TLV November 2007
10. Security Considerations
This document does not specify any security considerations.
Clausen & Dearlove Expires May 18, 2008 [Page 14]
Internet-Draft Time TLV November 2007
11. References
11.1. Normative References
[1] Clausen, T., Dearlove, C., Dean, J., and C. Adjih, "Generalized
MANET Packet/Message Format", Work In
Progress draft-ietf-manet-packetbb-11.txt, November 2007.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, BCP 14, March 1997.
[3] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", RFC 2434, BCP 26, October 1998.
11.2. Informative References
[4] Clausen, T. and P. Jacquet, "The Optimized Link State Routing
Protocol", RFC 3626, October 2003.
Clausen & Dearlove Expires May 18, 2008 [Page 15]
Internet-Draft Time TLV November 2007
Appendix A. Acknowledgements
The authors would like to thank Brian Adamson and Justin Dean (both
NRL) for their contributions, and Alan Cullen (BAE Systems) for his
careful review of this specification.
Clausen & Dearlove Expires May 18, 2008 [Page 16]
Internet-Draft Time TLV November 2007
Authors' Addresses
Thomas Heide Clausen
LIX, Ecole Polytechnique, France
Phone: +33 6 6058 9349
Email: T.Clausen@computer.org
URI: http://www.ThomasClausen.org/
Christopher Dearlove
BAE Systems Advanced Technology Centre
Phone: +44 1245 242194
Email: chris.dearlove@baesystems.com
URI: http://www.baesystems.com/
Clausen & Dearlove Expires May 18, 2008 [Page 17]
Internet-Draft Time TLV November 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Clausen & Dearlove Expires May 18, 2008 [Page 18]
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/