draft-ietf-manet-timetlv-01.txt | draft-ietf-manet-timetlv-02.txt | |||
---|---|---|---|---|
Mobile Ad hoc Networking (MANET) T. Clausen | Mobile Ad hoc Networking (MANET) T. Clausen | |||
Internet-Draft LIX, Ecole Polytechnique, France | Internet-Draft LIX, Ecole Polytechnique, France | |||
Intended status: Standards Track C. Dearlove | Intended status: Standards Track C. Dearlove | |||
Expires: December 31, 2007 BAE Systems Advanced Technology | Expires: February 25, 2008 BAE Systems Advanced Technology | |||
Centre | Centre | |||
June 29, 2007 | August 24, 2007 | |||
Representing multi-value time in MANETs | Representing multi-value time in MANETs | |||
draft-ietf-manet-timetlv-01 | draft-ietf-manet-timetlv-02 | |||
Status of this Memo | Status of this Memo | |||
By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
applicable patent or other IPR claims of which he or she is aware | 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 | 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. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
skipping to change at page 1, line 36 | skipping to change at page 1, line 36 | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on December 31, 2007. | This Internet-Draft will expire on February 25, 2008. | |||
Copyright Notice | Copyright Notice | |||
Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2007). | |||
Abstract | Abstract | |||
This document describes a general and flexible TLV (type-length-value | This document describes a general and flexible TLV (type-length-value | |||
structure) for representing time using the generalized MANET packet/ | structure) for representing time using the generalized MANET packet/ | |||
message format. It defines two message TLVs for representing | message format. It defines two message and two address block TLVs | |||
validity and interval times for MANET routing protocols. | for representing validity and interval times for MANET routing | |||
protocols. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Applicability Statement . . . . . . . . . . . . . . . . . . . 5 | 3. Applicability Statement . . . . . . . . . . . . . . . . . . . 5 | |||
4. Protocol Overview and Functioning . . . . . . . . . . . . . . 6 | 4. Protocol Overview and Functioning . . . . . . . . . . . . . . 6 | |||
5. Representing Time . . . . . . . . . . . . . . . . . . . . . . 7 | 5. Representing Time . . . . . . . . . . . . . . . . . . . . . . 7 | |||
6. General Time TLV Structure . . . . . . . . . . . . . . . . . . 8 | 6. General Time TLV Structure . . . . . . . . . . . . . . . . . . 8 | |||
7. Message TLVs . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 7. Message TLVs . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
7.1. VALIDITY_TIME TLV . . . . . . . . . . . . . . . . . . . . 10 | 7.1. VALIDITY_TIME TLV . . . . . . . . . . . . . . . . . . . . 10 | |||
7.2. INTERVAL_TIME TLV . . . . . . . . . . . . . . . . . . . . 10 | 7.2. INTERVAL_TIME TLV . . . . . . . . . . . . . . . . . . . . 10 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 8. Address Block TLVs . . . . . . . . . . . . . . . . . . . . . . 11 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 8.1. VALIDITY_TIME TLV . . . . . . . . . . . . . . . . . . . . 11 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 8.2. INTERVAL_TIME TLV . . . . . . . . . . . . . . . . . . . . 11 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . . 13 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . . 13 | 9.1. Message TLV tyepes . . . . . . . . . . . . . . . . . . . . 12 | |||
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 14 | 9.2. Address Block TLV tyepes . . . . . . . . . . . . . . . . . 13 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
Intellectual Property and Copyright Statements . . . . . . . . . . 16 | 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 | ||||
1. Introduction | 1. Introduction | |||
The generalized packet/message format [1] specifies a signaling | The generalized packet/message format [1] specifies a signaling | |||
format which MANET routing protocols can employ for exchanging | format which MANET routing protocols can employ for exchanging | |||
protocol information. This format presents the ability to express | protocol information. This format presents the ability to express | |||
and associate attributes to packets, messages or addresses, by way of | and associate attributes to packets, messages or addresses, by way of | |||
a general TLV (type-length-value) mechanism. | a general TLV (type-length-value) mechanism. | |||
This document specifies a general Time TLV structure, which can be | This document specifies a general Time TLV structure, which can be | |||
skipping to change at page 4, line 5 | skipping to change at page 3, line 30 | |||
This document also specifies two message TLV types, which use the TLV | This document also specifies two message TLV types, which use the TLV | |||
structure proposed. These TLV types are INTERVAL_TIME and | structure proposed. These TLV types are INTERVAL_TIME and | |||
VALIDITY_TIME, specifying respectively the maximum time before | VALIDITY_TIME, specifying respectively the maximum time before | |||
another message of the same type as this message from the same | another message of the same type as this message from the same | |||
originator should be received, and the duration for which the | originator should be received, and the duration for which the | |||
information in this message is valid after receipt. Note that, if | information in this message is valid after receipt. Note that, if | |||
both are present, then the latter will usually be greater than the | both are present, then the latter will usually be greater than the | |||
former in order to allow for possible message loss. | 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. | ||||
2. Terminology | 2. Terminology | |||
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC2119 [2]. | document are to be interpreted as described in RFC2119 [2]. | |||
Additionally, this document uses terminology from [1], and introduces | Additionally, this document uses terminology from [1], and introduces | |||
the following terminology: | the following terminology: | |||
Distance - the distance from the message originator to the message | Distance - the distance from the message originator to the message | |||
skipping to change at page 7, line 9 | skipping to change at page 7, line 9 | |||
4. Protocol Overview and Functioning | 4. Protocol Overview and Functioning | |||
This document does not specify a protocol nor does it mandate | This document does not specify a protocol nor does it mandate | |||
specific node or protocol behavior. Rather, it outlines mechanisms | specific node or protocol behavior. Rather, it outlines mechanisms | |||
for encoding time-values using the TLV mechanism of [1]. | for encoding time-values using the TLV mechanism of [1]. | |||
5. Representing Time | 5. Representing Time | |||
This document specifies a TLV structure in which time-values are each | 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 | 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 | in a TLV's <value> field. Of these 8 bits, the least significant 3 | |||
four bits represent the mantissa (a), and the most significant four | bits represent the mantissa (a), and the most significant 5 bits | |||
bits represent the exponent (b), so that: | represent the exponent (b), so that: | |||
o time-value = (1 + a/16) * 2^b * C | o time-value = (1 + a/8) * 2^b * C | |||
o time-code = 16 * b + a | o time-code = 8 * b + a | |||
All nodes in the network MUST use the same value of the constant C, | 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. | 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 | C MUST be greater than 0 seconds. Note that ascending values of the | |||
time-code represent ascending time-values, time-values may thus be | time-code represent ascending time-values, time-values may thus be | |||
compared by comparison of time-codes. | compared by comparison of time-codes. | |||
An algorithm for computing the time-code representing the smallest | An algorithm for computing the time-code representing the smallest | |||
representable time-value not less than the time-value t is: | representable time-value not less than the time-value t is: | |||
1. find the largest integer b such that t/C >= 2^b; | 1. find the largest integer b such that t/C >= 2^b; | |||
2. set a = 16 * (t / (C * 2^b) - 1), rounded up to the nearest | 2. set a = 8 * (t / (C * 2^b) - 1), rounded up to the nearest | |||
integer; | integer; | |||
3. if a == 16 then set b = b + 1 and set a = 0; | 3. if a == 8 then set b = b + 1 and set a = 0; | |||
4. if a and b are in the range 0 and 15 then the required time-value | 4. if 0 <= a <= 7, and 0 lt;= b <= 31, then the required time-value | |||
can be represented by the time-code 16 * b + a, otherwise it can | can be represented by the time-code 8 * b + a, otherwise it can | |||
not. | not. | |||
The minimum time-value that can be represented in this manner is C. | 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 | The maximum time-value that can be represented in this manner is 15 * | |||
63488 * C. | 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. | ||||
6. General Time TLV Structure | 6. General Time TLV Structure | |||
A Time TLV may be a packet, message or address block TLV. If it is a | 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 | 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 | in [1]. If it is an address block TLV then it may be single value or | |||
multivalue TLV. The specific Time TLVs specified in this document, | multivalue TLV. Note that even a single value Time TLV may contain a | |||
in Section 7 are message, and hence single value, TLVs. Note that | multiple octet <value> field. | |||
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- | 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 | 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, based on its distance from the entity's originator. The | |||
Time TLV may contain information that allows that time-value to be a | Time TLV may contain information that allows that time-value to be a | |||
function of distance, and thus different receiving nodes may | function of distance, and thus different receiving nodes may | |||
determine different time-values. If a receiving node will not be | determine different time-values. If a receiving node will not be | |||
able to determine its distance from the originating node, then the | 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 | form of this Time TLV with a single time-code in a <value> field (or | |||
single value subfield) SHOULD be used. | single value subfield) SHOULD be used. | |||
skipping to change at page 11, line 5 | skipping to change at page 11, line 5 | |||
originator should be received. This interval time MAY be specified | originator should be received. This interval time MAY be specified | |||
to depend on the distance from the originator. (This is appropriate | to depend on the distance from the originator. (This is appropriate | |||
if messages are sent with different hop limits, so that receiving | if messages are sent with different hop limits, so that receiving | |||
nodes at greater distances have an increased interval time.) | nodes at greater distances have an increased interval time.) | |||
A message MUST NOT include more than one INTERVAL_TIME TLV. | 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 | An INTERVAL_TIME TLV is an example of a Time TLV specified as in | |||
Section 5. | Section 5. | |||
8. IANA Considerations | 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. | ||||
9. IANA Considerations | ||||
This specification defines two message TLV types, which must be | This specification defines two message TLV types, which must be | |||
allocated from the "Assigned Message TLV Types" repository of [1] as | allocated from the "Assigned Message TLV Types" repository of [1] as | |||
specified in Table 1. | 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 nummerical value to the message | ||||
TLV and address block TLV types with the same mnemonic. | ||||
9.1. Message TLV tyepes | ||||
+---------------+------+---------+----------------------------------+ | +---------------+------+---------+----------------------------------+ | |||
| Name | Type | Subtype | Description | | | Name | Type | Subtype | Description | | |||
+---------------+------+---------+----------------------------------+ | +---------------+------+---------+----------------------------------+ | |||
| VALIDITY_TIME | TBD | 0 | The time from receipt of the | | | VALIDITY_TIME | TBD | 0 | The time from receipt of the | | |||
| | | | message during which the | | | | | | message during which the | | |||
| | | | information contained in the | | | | | | information contained in the | | |||
| | | | message is to be considered | | | | | | message is to be considered | | |||
| | | | valid | | | | | | valid | | |||
| | | | | | | | | | | | |||
skipping to change at page 12, line 5 | skipping to change at page 13, line 5 | |||
| | | | should be received | | | | | | should be received | | |||
| | | | | | | | | | | | |||
| | | 1-255 | RESERVED | | | | | 1-255 | RESERVED | | |||
+---------------+------+---------+----------------------------------+ | +---------------+------+---------+----------------------------------+ | |||
Table 1 | Table 1 | |||
Subtypes indicated as RESERVED may be allocated by standards action, | Subtypes indicated as RESERVED may be allocated by standards action, | |||
as specified in [3]. | as specified in [3]. | |||
9. Security Considerations | 9.2. Address Block TLV tyepes | |||
+---------------+------+---------+----------------------------------+ | ||||
| Name | Type | Subtype | Description | | ||||
+---------------+------+---------+----------------------------------+ | ||||
| VALIDITY_TIME | TBD | 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 | TBD | 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 | ||||
Subtypes indicated as RESERVED may be allocated by standards action, | ||||
as specified in [3]. | ||||
10. Security Considerations | ||||
This document does not specify any security considerations. | This document does not specify any security considerations. | |||
10. References | 11. References | |||
10.1. Normative References | 11.1. Normative References | |||
[1] Clausen, T., Dearlove, C., Dean, J., and C. Adjih, "Generalized | [1] Clausen, T., Dearlove, C., Dean, J., and C. Adjih, "Generalized | |||
MANET Packet/Message Format", Work In | MANET Packet/Message Format", Work In | |||
Progress draft-ietf-manet-packetbb-07.txt, June 2007. | Progress draft-ietf-manet-packetbb-08.txt, July 2007. | |||
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement | [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement | |||
Levels", RFC 2119, BCP 14, March 1997. | Levels", RFC 2119, BCP 14, March 1997. | |||
[3] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA | [3] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA | |||
Considerations Section in RFCs", October 1998. | Considerations Section in RFCs", October 1998. | |||
10.2. Informative References | 11.2. Informative References | |||
[4] Clausen, T. and P. Jacquet, "The Optimized Link State Routing | [4] Clausen, T. and P. Jacquet, "The Optimized Link State Routing | |||
Protocol", RFC 3626, October 2003. | Protocol", RFC 3626, October 2003. | |||
Appendix A. Acknowledgements | Appendix A. Acknowledgements | |||
The authors would like to thank Brian Adamson and Justin Dean (both | The authors would like to thank Brian Adamson and Justin Dean (both | |||
NRL) for their contributions, and Alan Cullen (BAE Systems) for his | NRL) for their contributions, and Alan Cullen (BAE Systems) for his | |||
careful review of this specification. | careful review of this specification. | |||
End of changes. 22 change blocks. | ||||
36 lines changed or deleted | 129 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |