Network Working Group                                         T. Clausen
Request for Comments: 5148              LIX, Ecole Polytechnique, France
Category: Informational                                      C. Dearlove
                                  BAE Systems Advanced Technology Centre
                                                              B. Adamson
                                          U.S. Naval Research Laboratory
                                                           February 2008
Network Working Group                                         T. Clausen
Request for Comments: 5148              LIX, Ecole Polytechnique, France
Category: Informational                                      C. Dearlove
                                  BAE Systems Advanced Technology Centre
                                                              B. Adamson
                                          U.S. Naval Research Laboratory
                                                           February 2008

Jitter Considerations in Mobile Ad Hoc Networks (MANETs)


Status of This Memo


This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.




This document provides recommendations for jittering (randomly modifying timing) of control traffic transmissions in Mobile Ad hoc NETwork (MANET) routing protocols to reduce the probability of transmission collisions.


Table of Contents


   1. Introduction ....................................................2
   2. Terminology .....................................................3
   3. Applicability Statement .........................................4
   4. Protocol Overview and Functioning ...............................4
   5. Jitter ..........................................................5
      5.1. Periodic Message Generation ................................5
      5.2. Externally Triggered Message Generation ....................6
      5.3. Message Forwarding .........................................7
      5.4. Maximum Jitter Determination ...............................8
   6. Security Considerations .........................................9
   7. References .....................................................10
      7.1. Normative References ......................................10
      7.2. Informative References ....................................10
   Appendix A. Acknowledgements ......................................11
   1. Introduction ....................................................2
   2. Terminology .....................................................3
   3. Applicability Statement .........................................4
   4. Protocol Overview and Functioning ...............................4
   5. Jitter ..........................................................5
      5.1. Periodic Message Generation ................................5
      5.2. Externally Triggered Message Generation ....................6
      5.3. Message Forwarding .........................................7
      5.4. Maximum Jitter Determination ...............................8
   6. Security Considerations .........................................9
   7. References .....................................................10
      7.1. Normative References ......................................10
      7.2. Informative References ....................................10
   Appendix A. Acknowledgements ......................................11
1. Introduction
1. 介绍

In a wireless network, simultaneous packet transmission by nearby nodes is often undesirable. This is because any resulting collision between these packets may cause a receiving node to fail to receive some or all of these packets. This is a physical problem, which occurs before packets can be inserted into the receiver queue. Depending on the characteristics of the medium access control and other lower layer mechanisms, in particular whether retransmission of unacknowledged packets is supported, this may cause at best increased delay, and at worst complete packet loss. In some instances, these problems can be solved in these lower layers, but in other instances, some help at the network and higher layers is necessary.


This document considers the case when that help is required, and provides recommendations for using jitter (randomly varying timing) to provide it. It is possible that the techniques described here could be implemented either by IP protocols designed for wireless networks or in conjunction with lower-layer mechanisms.


The problems of simultaneous packet transmissions are amplified if any of the following features are present in a protocol:


Regularly scheduled messages - If two nodes generate packets containing regularly scheduled messages of the same type at the same time, and if, as is typical, they are using the same message interval, all further transmissions of these messages will thus also be at the same time. Note that the following mechanisms may make this a likely occurrence.


Event-triggered messages - If nodes respond to changes in their circumstances, in particular changes in their neighborhood, with an immediate message generation and transmission, then two nearby nodes that respond to the same change will transmit messages simultaneously.


Schedule reset - When a node sends an event-triggered message of a type that is usually regularly scheduled, then there is no apparent reason why it should not restart its corresponding message schedule. This may result in nodes responding to the same change also sending future messages simultaneously.


Forwarding - If nodes forward messages they receive from other nodes, then nearby nodes will commonly receive and forward the same message. If forwarding is performed immediately, then the resulting packet transmissions may interfere with each other.


A possible solution to these problems is to employ jitter, a deliberate random variation in timing. Such jitter is employed in e.g., [2], [3], and [4], in which transmission intervals for regularly scheduled messages are reduced by a small, bounded and random amount in order to desynchronize transmitters and thereby avoid overloading the transmission medium as well as receivers. This document discusses and provides recommendations for applying jitter to control packet transmissions in Mobile Ad hoc NETworks (MANETs), with the purpose of avoiding collisions, with particular reference to the features listed above.


2. Terminology
2. 术语

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 [1].


Additionally, this document uses the following terminology:


Node - A MANET router that implements a message sending protocol.


MANET interface - A network device participating in a MANET. A node may have one or more MANET interfaces.


Message - An entity carrying protocol information intended for exchange between nodes. Messages are transmitted over MANET interfaces embedded in packets.


Packet - An entity embedding zero or more messages for transmission over a MANET interface of the node.


Transmission - A packet being sent over a MANET interface of the node. A transmission can be due to either a message being generated or a message being forwarded.


Generation - Creation of a new message (rather than a received and forwarded message) for transmission over one or more MANET interfaces of the node. Typically, a node will generate messages based on a message schedule (periodic or otherwise) or as a response to changes in circumstances.


Forwarding - Retransmission of a received message (whether modified or unchanged) over one or more MANET interfaces of the node.


Collision - A specific instance of interference, where two or more nodes transmit a packet at the same time and within the same signal space (at the same frequency and/or encoding) such that


another, closely located, node that should receive and decode these packets instead fails to do so, and loses one or more of the packets.


3. Applicability Statement
3. 适用性声明

The mechanisms described in this document are applicable to the control messages of any MANET protocol in which simultaneous transmissions by different nodes are undesirable, and that contains mechanisms, such as periodic control message transmission, triggered control message transmission, or control message forwarding, which either make a simultaneous transmission more likely, or cause one to be repeated when it occurs. This particularly applies to protocols using broadcast transmissions in wireless networks, where proactive MANET routing protocols such as [5] employ scheduled messages, where reactive MANET routing protocols such as [6] employ event-triggered messages, and where both employ message forwarding.


These mechanisms are intended for application where the underlying medium access control and lower layers do not provide effective mechanisms to avoid such collisions. Where these layers do provide effective mechanisms, the recommendations of this document are not needed.


The approach described in this document uses random variations in timing to achieve a reduction in collisions. Alternatives using, for example, pseudo-random variation based on node identity, may be considered, but are not discussed by this document.


Any protocol based on [7] and using the message forwarding mechanism facilitated by that structure is a particular candidate for application of at least some of these mechanisms.


The document has been generalized from the jitter mechanism used in the proactive MANET routing protocol OLSR (the Optimized Link State Routing Protocol) [5].


4. Protocol Overview and Functioning
4. 议定书概述和运作

This document provides recommendations for message transmission (and retransmission) that may be used by MANET routing protocols. It may also be used by other protocols that employ a periodic or triggered message schedule running over wireless interfaces. Using such simultaneous message transmissions from two (or more) adjacent nodes may cause delays, packet losses, and other problems. Any protocol using jitter as outlined here must specify its precise usage insofar as is necessary for interoperability.


5. Jitter
5. 抖动

In order to prevent nodes in a MANET from simultaneous transmission, whilst retaining the MANET characteristic of maximum node autonomy, a randomization of the transmission time of packets by nodes, known as jitter, SHOULD be employed. Three jitter mechanisms, which target different aspects of this problem, SHOULD be employed, with the aim of reducing the likelihood of simultaneous transmission, and, if it occurs, preventing it from continuing.


Three cases exist:


o Periodic message generation;

o 定期消息生成;

o Externally triggered message generation;

o 外部触发消息生成;

o Message forwarding.

o 消息转发。

For the first of these cases, jitter is used to reduce the interval between successive message transmission by a random amount; for the latter two cases, jitter is used to delay a message being generated or forwarded by a random amount.


Each of these cases uses a parameter, denoted MAXJITTER, for the maximum timing variation that it introduces. If more than one of these cases is used by a protocol, it MAY use the same or a different value of MAXJITTER for each case. It also MAY use the same or different values of MAXJITTER according to message type, and under different circumstances -- in particular if other parameters (such as message interval) vary.


Issues relating to the value of MAXJITTER are considered in Section 5.4.


5.1. Periodic Message Generation
5.1. 定期消息生成

When a node generates a message periodically, two successive messages will be separated by a well-defined interval, denoted MESSAGE_INTERVAL. A node MAY maintain more than one such interval, e.g., for different message types or in different circumstances (such as backing off transmissions to avoid congestion). Jitter SHOULD be applied by reducing this delay by a random amount, so that the delay between consecutive transmissions of messages of the same type is equal to (MESSAGE_INTERVAL - jitter), where jitter is the random value.


Subtraction of the random value from the message interval ensures that the message interval never exceeds MESSAGE_INTERVAL, and does


not adversely affect timeouts or other mechanisms that may be based on message late arrival or failure to arrive. By basing the message transmission time on the previous transmission time, rather than by jittering a fixed clock, nodes can become completely desynchronized, which minimizes their probability of repeated collisions. This is particularly useful when combined with externally triggered message generation and rescheduling.


The jitter value SHOULD be generated uniformly in an interval between zero and MAXJITTER.


Note that a node will know its own MESSAGE_INTERVAL value and can readily ensure that any MAXJITTER value used satisfies the conditions in Section 5.4.


5.2. Externally Triggered Message Generation
5.2. 外部触发消息生成

An internal or external condition or event may trigger message generation by a node. Depending upon the protocol, this condition may trigger generation of a single message (including, but not limited to, an acknowledgement message), initiation of a new periodic message schedule, or rescheduling of existing periodic messaging. Collision between externally triggered messages is made more likely if more than one node is likely to respond to the same event. To reduce this likelihood, an externally triggered message SHOULD be jittered by delaying it by a random duration; an internally triggered message MAY also be so jittered if appropriate. This delay SHOULD be generated uniformly in an interval between zero and MAXJITTER. If periodically transmitted messages are rescheduled, then this SHOULD be based on this delayed time, with subsequent messages treated as described in Section 5.1.


When messages are triggered, whether or not they are also periodically transmitted, a protocol MAY impose a minimum interval between messages of the same type, denoted MESSAGE_MIN_INTERVAL. In the case that such an interval is not required, MESSAGE_MIN_INTERVAL is considered to be zero. When MESSAGE_MIN_INTERVAL is non-zero, it is however appropriate to also allow this interval to be reduced by jitter. Thus, when a message is transmitted, the next message is allowed after a time (MESSAGE_MIN_INTERVAL - jitter). This jitter SHOULD be generated uniformly in an interval between zero and MAXJITTER (using a value of MAXJITTER appropriate to periodic message transmission).

当消息被触发时,无论它们是否也被周期性地传输,协议可以在相同类型的消息之间施加最小间隔,表示为消息最小间隔。在不需要这样的间隔的情况下,消息_MIN _interval被认为是零。然而,当消息_MIN_INTERVAL为非零时,允许通过抖动减小该间隔也是合适的。因此,当一条消息被传输时,下一条消息在一段时间后被允许(消息最小间隔-抖动)。该抖动应在零和MAXJITTER之间的间隔内均匀生成(使用适合于定期消息传输的MAXJITTER值)。

It might appear counterintuitive to have a defined MESSAGE_MIN_INTERVAL, yet allow this to be reduced by jittering. For periodic messages, setting MESSAGE_INTERVAL, MAXJITTER and MESSAGE_MIN_INTERVAL such that (MESSAGE_INTERVAL-MAXJITTER) >


MESSAGE_MIN_INTERVAL would ensure at least MESSAGE_MIN_INTERVAL would elapse between two subsequent message transmissions. In a highly dynamic network with triggered messages, however, external circumstances might be such that external triggers are more frequent than MESSAGE_MIN_INTERVAL, effectively making MESSAGE_MIN_INTERVAL take the role of MESSAGE_INTERVAL as the "default" interval at which messages are transmitted. Thus, in order to avoid synchronization in this highly dynamic case, jittering SHOULD be applied to MESSAGE_MIN_INTERVAL. This also permits MESSAGE_MIN_INTERVAL to equal MESSAGE_INTERVAL, even when jitter is used.

MESSAGE_MIN_INTERVAL将确保在两次后续消息传输之间至少经过MESSAGE_MIN_INTERVAL。然而,在具有触发消息的高度动态网络中,外部环境可能导致外部触发比消息\u MIN\u INTERVAL更频繁,从而有效地使消息\u MIN\u INTERVAL充当消息\u INTERVAL的角色,作为消息传输的“默认”间隔。因此,为了避免在这种高度动态的情况下进行同步,应该对消息\u MIN\u间隔应用抖动。这也允许消息最小间隔等于消息间隔,即使在使用抖动时也是如此。

When a triggered message is delayed by jitter, the node MAY also postpone generation of the triggered message. If a node is then triggered to generate a message of the same type while waiting, it can generate a single message. If however the node generates a message when it is triggered, and then receives a another trigger while waiting to send that message, then the appropriate action to take is protocol specific (typically to discard the earlier message or to transmit both, possibly modifying timing to maintain message order).


5.3. Message Forwarding
5.3. 消息转发

When a node forwards a message, it SHOULD be jittered by delaying it by a random duration. This delay SHOULD be generated uniformly in an interval between zero and MAXJITTER.


Unlike the cases of periodically generated and externally triggered messages, a node is not automatically aware of the message originator's value of MESSAGE_INTERVAL, which is required to select a value of MAXJITTER that is known to be valid. This may require prior agreement as to the value (or minimum value) of MESSAGE_INTERVAL, may be by inclusion in the message of MESSAGE_INTERVAL (the time until the next relevant message, rather than the time since the last message) or be by any other protocol specific mechanism, which may include estimation of the value of MESSAGE_INTERVAL based on received message times.


For several possible reasons (differing parameters, message rescheduling, extreme random values), a node may receive a message while still waiting to forward an earlier message of the same type originating from the same node. This is possible without jitter, but may occur more often with it. The appropriate action to take is protocol-specific (typically, to discard the earlier message or to forward both, possibly modifying timing to maintain message order).


In many cases, including [5] and protocols using the full functionality of [7], messages are transmitted hop-by-hop in


potentially multi-message packets, and some or all of those messages may need to be forwarded. For efficiency, this SHOULD be in a single packet, and hence the forwarding jitter of all messages received in a single packet SHOULD be the same. (This also requires that a single value of MAXJITTER is used in this case.) For this to have the intended uniform distribution, it is necessary to choose a single random jitter for all messages. It is not appropriate to give each message a random jitter and then to use the smallest of these jitter values, as that produces a jitter with a non-uniform distribution and a reduced mean value.


In addition, the protocol MAY permit control messages received in different packets to be combined, possibly also with locally generated control messages (periodically generated or triggered), as supported by [7]. However, in this case, the purpose of the jitter will be accomplished by choosing any of the independently scheduled times for these events as the single forwarding time; this may have to be the earliest time to achieve all constraints. This is because without combining messages, a transmission would be due at this time anyway.


5.4. Maximum Jitter Determination
5.4. 最大抖动测定

In considering how the maximum jitter (one or more instances of parameter MAXJITTER) may be determined, the following points may be noted:


o While jitter may resolve the problem of simultaneous transmissions, the timing changes (in particular the delays) it introduces will otherwise typically have a negative impact on a well-designed protocol. Thus, MAXJITTER SHOULD always be minimized, subject to acceptably achieving its intent.

o 虽然抖动可以解决同时传输的问题,但它引入的定时变化(特别是延迟)通常会对设计良好的协议产生负面影响。因此,MAXJITTER应始终最小化,以达到可接受的目的。

o When messages are periodically generated, all of the following that are relevant apply to each instance of MAXJITTER:

o 当定期生成消息时,以下所有相关信息均适用于MAXJITTER的每个实例:

* it MUST NOT be negative;

* 它不能是消极的;

* it MUST NOT be greater than MESSAGE_INTERVAL/2;

* 不得大于消息间隔/2;

* it SHOULD NOT be greater than MESSAGE_INTERVAL/4.

* 它不应大于消息间隔/4。


o 如果消息\u MIN\u INTERVAL>0,则:


* 最大抖动不得大于消息最小间隔;


* MAXJITTER不应大于消息最小间隔/2。

o As well as the decision as to whether to use jitter being dependent on the medium access control and lower layers, the selection of the MAXJITTER parameter SHOULD be appropriate to those mechanisms. For example, MAXJITTER should be significantly greater than (e.g., an order of magnitude greater than) any medium access control frame period.

o 至于是否使用抖动的决定取决于介质访问控制和较低层,MAXJITTER参数的选择应该适合这些机制。例如,MAXJITTER应显著大于(例如,一个数量级大于)任何媒体访问控制帧周期。

o As jitter is intended to reduce collisions, greater jitter, i.e., an increased value of MAXJITTER, is appropriate when the chance of collisions is greater. This is particularly the case with increased node density, which is significant relative to (the square of) the interference range rather than useful signal range.

o 由于抖动旨在减少碰撞,因此当碰撞的可能性更大时,更大的抖动(即MAXJITTER的增加值)是合适的。这在节点密度增加的情况下尤其如此,其相对于干扰范围(而非有用信号范围的平方)显著。

o The choice of MAXJITTER used when forwarding messages MAY also take into account the expected number of times that the message may be sequentially forwarded, up to the network diameter in hops, so that the maximum accumulated delay is bounded.

o 转发消息时使用的MAXJITTER的选择还可以考虑消息可能被顺序转发的预期次数,以跳数为单位的网络直径,以便最大累积延迟是有界的。

6. Security Considerations
6. 安全考虑

This document provides recommendations for mechanisms to be used in protocols; full security considerations are to be provided by those protocols, rather than in this document.


It may however be noted that introduction of random timing by these recommendations may provide some security advantage to such a protocol in that it makes the prediction of transmission times, and thereby intentional interference with a protocol functioning through selectively scheduling jamming transmissions to coincide with protocol message transmissions, more difficult.


7. References
7. 工具书类
7.1. Normative References
7.1. 规范性引用文件

[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[1] Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

7.2. Informative References
7.2. 资料性引用

[2] Moy, J., "OSPF Database Overflow", RFC 1765, March 1995.

[2] Moy,J.,“OSPF数据库溢出”,RFC17651995年3月。

[3] Marlow, D., "Host Group Extensions for CLNP Multicasting", RFC 1768, March 1995.

[3] Marlow,D.,“CLNP多播的主机组扩展”,RFC17681995年3月。

[4] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006.

[4] Rekhter,Y.,Ed.,Li,T.,Ed.,和S.Hares,Ed.,“边境网关协议4(BGP-4)”,RFC 42712006年1月。

[5] Clausen, T., Ed., and P. Jacquet, Ed., "Optimized Link State Routing Protocol (OLSR)", RFC 3626, October 2003.

[5] Clausen,T.,Ed.,和P.Jacquet,Ed.,“优化链路状态路由协议(OLSR)”,RFC3626,2003年10月。

[6] Perkins, C., Belding-Royer, E., and S. Das, "Ad hoc On-Demand Distance Vector (AODV) Routing", RFC 3561, July 2003.

[6] Perkins,C.,Belding Royer,E.和S.Das,“特殊按需距离向量(AODV)路由”,RFC 3561,2003年7月。

[7] Clausen, T., Dearlove, C., Dean, J., and C. Adjih, "Generalized MANET Packet/Message Format", Work in Progress.

[7] Clausen,T.,Dearlove,C.,Dean,J.,和C.Adjih,“广义MANET数据包/消息格式”,正在进行的工作。

Appendix A. Acknowledgements

The authors would like to acknowledge the MANET working group and the OLSRv2 Design team, in particular Joe Macker and Justin Dean (both NRL), for their contributions and discussions in developing and testing the concepts retained in this document, and Alan Cullen (BAE Systems) for his careful review of this specification. OLSRv1, as specified in [5], introduced the concept of jitter on control traffic, which was tested thoroughly by Gitte Hansen and Lars Christensen (then, both Aalborg University).

作者要感谢MANET工作组和OLSRv2设计团队,特别是Joe Macker和Justin Dean(均为NRL),感谢他们在开发和测试本文件中保留的概念方面的贡献和讨论,感谢Alan Cullen(BAE Systems)对本规范的仔细审查。如[5]所述,OLSRv1引入了控制流量抖动的概念,Gitte Hansen和Lars Christensen(当时都是奥尔堡大学)对此进行了全面测试。

Authors' Addresses


Thomas Heide Clausen LIX, Ecole Polytechnique, France


   Phone: +33 6 6058 9349
   Phone: +33 6 6058 9349

Christopher Dearlove BAE Systems Advanced Technology Centre


   Phone: +44 1245 242194
   Phone: +44 1245 242194

Brian Adamson U.S. Naval Research Laboratory


   Phone: +1 202 404 1194
   Phone: +1 202 404 1194

Full Copyright Statement


Copyright (C) The IETF Trust (2008).


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.

本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。



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.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和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


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