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
|
Internet Engineering Task Force (IETF) C. Dearlove
Request for Comments: 7466 BAE Systems ATC
Updates: 6130, 7181 T. Clausen
Category: Standards Track LIX, Ecole Polytechnique
ISSN: 2070-1721 March 2015
An Optimization for the Mobile Ad Hoc Network (MANET)
Neighborhood Discovery Protocol (NHDP)
Abstract
The link quality mechanism of the Mobile Ad Hoc Network (MANET)
Neighborhood Discovery Protocol (NHDP) enables "ignoring" some 1-hop
neighbors if the measured link quality from that 1-hop neighbor is
below an acceptable threshold while still retaining the corresponding
link information as acquired from the HELLO message exchange. This
allows immediate reinstatement of the 1-hop neighbor if the link
quality later improves sufficiently.
NHDP also collects information about symmetric 2-hop neighbors.
However, it specifies that if a link from a symmetric 1-hop neighbor
ceases being symmetric, including while "ignored" (as described
above), then corresponding symmetric 2-hop neighbors are removed.
This may lead to symmetric 2-hop neighborhood information being
permanently removed (until further HELLO messages are received) if
the link quality of a symmetric 1-hop neighbor drops below the
acceptable threshold, even if only for a moment.
This specification updates RFC 6130 "Mobile Ad Hoc Network (MANET)
Neighborhood Discovery Protocol (NHDP)" and RFC 7181 "The Optimized
Link State Routing Protocol Version 2 (OLSRv2)" to permit, as an
option, retaining, but ignoring, symmetric 2-hop information when the
link quality from the corresponding 1-hop neighbor drops below the
acceptable threshold. This allows immediate reinstatement of the
symmetric 2-hop neighbor if the link quality later improves
sufficiently, thus making the symmetric 2-hop neighborhood more
"robust".
Dearlove & Clausen Standards Track [Page 1]
^L
RFC 7466 NHDP Optimization March 2015
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7466.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................3
2. Terminology .....................................................4
3. Applicability Statement .........................................4
4. Changes to NHDP .................................................4
4.1. Interface Information Bases ................................5
4.2. HELLO Message Processing ...................................5
4.3. Information Base Changes ...................................5
4.4. Constraints ................................................6
5. Changes to OLSRv2 ...............................................6
6. Security Considerations .........................................8
7. References ......................................................8
7.1. Normative References .......................................8
7.2. Informative References .....................................8
Acknowledgements ...................................................9
Authors' Addresses .................................................9
Dearlove & Clausen Standards Track [Page 2]
^L
RFC 7466 NHDP Optimization March 2015
1. Introduction
Section 14 of the MANET Neighborhood Discovery Protocol (NHDP)
[RFC6130] contains a link admission mechanism known as "link quality"
that allows a router using that protocol to "take considerations
other than message exchange into account for determining when a link
is and is not a candidate for being considered as HEARD or
SYMMETRIC." Specifically, [RFC6130] permits a router to disallow
consideration of some of its 1-hop neighbors for as long as the
quality of the link from that 1-hop neighbor is below an acceptable
link quality threshold.
A feature of this mechanism is that while the link quality remains
too low, the link information, established by the exchange of HELLO
messages, is retained. Thus, if the link quality later goes above
the required threshold (note that a hysteresis mechanism means that
two thresholds are used), then the link is immediately established
and will be immediately available for use.
[RFC6130] collects not only 1-hop neighbor information, but also
information about symmetric 2-hop neighbors. However, [RFC6130]
specifies that if a 1-hop neighbor was, but no longer is, considered
symmetric, then the corresponding 2-Hop Tuples that may have been
recorded for that 2-hop neighbor are to be removed without a
retention mechanism for a (possibly temporary) loss due to link
quality.
This means that if there is a short period in which link quality is
too low, then when the link quality is re-established all 1-hop
neighbor information is immediately available for use again.
However, the corresponding symmetric 2-hop neighbor information has
been removed and is not available for use until restored by receipt
of the next corresponding HELLO message.
This specification describes how [RFC6130] can be modified to avoid
this situation by retaining (but not using) 2-hop information,
similar to what is done with 1-hop information. This modification is
strictly optional, and routers that do and do not implement it can
interwork entirely successfully (as they also can with different link
quality specifications). In addition, by a suitable interpretation
(that ignored 2-Hop Tuples are not externally advertised), this
change can be invisible to any other protocols using [RFC6130], in
particular [RFC7181]. However, the impact on [RFC7181] when 2-Hop
Tuples are not so handled is also described (owing to the existence
of implementations of that protocol that are not modularly separated
from [RFC6130]).
This specification therefore updates [RFC6130] and [RFC7181].
Dearlove & Clausen Standards Track [Page 3]
^L
RFC 7466 NHDP Optimization March 2015
This update to [RFC6130] does not change the definition of a
symmetric 2-hop neighbor but adds new state information to each 2-Hop
Tuple of [RFC6130]. This is to retain some 2-hop neighbor
information while recording it as currently not to be used. The new
state information and retained 2-Hop Tuples are reflected in the
corresponding tables of the updated NHDP-MIB module [NHDP-MIB].
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119].
Additionally, this document uses the terminology of [RFC6130] and
[RFC7181].
3. Applicability Statement
This specification updates [RFC6130]. The optimization presented in
this specification is simply permissive, as it allows retaining
information that otherwise would have been removed but does not use
that information except when it could have been used by [RFC6130].
This can, in some cases, ensure that the symmetric 2-hop neighborhood
is more robust against temporary link quality changes and
consequently yields a more stable network. The only other
consequence of this optimization is that state for some otherwise
expired 2-Hop Tuples may be maintained for longer.
This specification also updates [RFC7181]. This could have been
avoided had instead [RFC6130] been updated so as to make the changes
to it invisible to any other protocol using it. However, as it is
known that some implementations of [RFC7181] are not independent of
the implementation of [RFC6130] that they use, it is useful to
indicate the direct impact on [RFC7181].
A router that implements the optimization described in this
specification will interoperate successfully with routers that
implement [RFC6130] but do not implement this optimization.
4. Changes to NHDP
The following changes are made to [RFC6130] if using this
specification. Note that while this specification is OPTIONAL, if
any of these changes are made, then all of these changes MUST be
made.
Dearlove & Clausen Standards Track [Page 4]
^L
RFC 7466 NHDP Optimization March 2015
4.1. Interface Information Bases
The 2-Hop Set is modified by adding this additional element to each
2-Hop Tuple:
N2_lost is a boolean flag, which indicates the state of the
corresponding Link Tuple. If L_status = SYMMETRIC (and thus
L_lost = false), then N2_lost = false. If L_SYM_time has not
expired, and L_lost = true (and hence L_status = LOST), then
N2_lost = true.
In all other cases, including other cases with L_status = LOST, there
will be no such 2-Hop Tuples.
4.2. HELLO Message Processing
In Section 12.6 of [RFC6130], make the following changes:
o In point 2, change "L_status = SYMMETRIC" to "L_SYM_time not
expired".
o In point 2, point 1, point 1, under "then create a 2-Hop Tuple
with:", add a second bullet point "N2_lost: = L_lost". (Note that
"2-Hop Neighbor Tuple" has been corrected here to "2-Hop Tuple"
per [Err4276].)
4.3. Information Base Changes
In Section 13, replace the second bullet point with:
o A Link Tuple's L_status changes from SYMMETRIC, L_SYM_time
expires, or the Link Tuple is removed. In this case, the actions
specified in Section 13.2 are performed.
Replace the paragraph after the bullet points with:
If a Link Tuple is removed, or if L_HEARD_time expires and either
L_status changes from SYMMETRIC or L_SYM_time expires, then the
actions specified in Section 13.2 MUST be performed before the
actions specified in Section 13.3 are performed for that Link Tuple.
Dearlove & Clausen Standards Track [Page 5]
^L
RFC 7466 NHDP Optimization March 2015
In Section 13.2 of [RFC6130], add the following before all other
text:
For each Link Tuple that has L_SYM_time not expired:
1. If L_SYM_time then expires, or if the Link Tuple is removed:
1. Remove each 2-Hop Tuple for the same MANET interface with:
+ N2_neighbor_iface_addr_list contains one or more network
addresses in L_neighbor_iface_addr_list.
2. If L_status then changes from SYMMETRIC to LOST because L_lost is
set to true:
1. For each 2-Hop Tuple for the same MANET interface with:
+ N2_neighbor_iface_addr_list contains one or more network
addresses in L_neighbor_iface_addr_list;
set N2_lost := true.
Also, in Section 13.2 of [RFC6130], remove point 1 and renumber point
2 as point 1.
4.4. Constraints
In Appendix B of [RFC6130], under "In each 2-Hop Tuple:", change the
first bullet point to:
o There MUST be a Link Tuple associated with the same MANET
interface with:
* L_neighbor_iface_addr_list = N2_neighbor_iface_addr_list; AND
* L_SYM_time not expired; AND
* L_lost = N2_lost.
5. Changes to OLSRv2
If the implementation of [RFC6130] conceals from any protocol using
it the existence of all 2-Hop Tuples with N2_lost = true, then no
changes are required to any protocol using [RFC6130]; in particular,
no changes are required to [RFC7181].
Dearlove & Clausen Standards Track [Page 6]
^L
RFC 7466 NHDP Optimization March 2015
However, if instead the implementation of [RFC6130] makes all 2-Hop
Tuples visible, including those with N2_lost = true, then protocols
using [RFC6130] MUST ignore such 2-Hop Tuples.
For [RFC7181], given that this protocol uses 2-hop information for
Multipoint Relay (MPR) Set and Routing Set calculation but does not
include that information in control traffic, this means that an
implementation must be behaving (i) as if a 2-Hop Tuple only exists
if N2_lost=false and (ii) as if a change of N2_lost (from false to
true, or true to false) corresponds to a 2-Hop Tuple appearing or
being removed. Specifically, this means behaving as if all of the
following changes were to be made to [RFC7181]:
o In Section 17.6 of [RFC7181], point 1, replace the final two
bullet points with:
* A 2-Hop Tuple with N2_out_metric != UNKNOWN_METRIC and N2_lost
= false is added or removed; OR
* A 2-Hop Tuple with N2_out_metric != UNKNOWN_METRIC has N2_lost
changed; OR
* The N2_out_metric of any 2-Hop Tuple with N2_lost = false
changes, and either the flooding MPR selection process uses
metric values (see Section 18.4), or the change is to or from
UNKNOWN_METRIC.
o In Section 17.6 of [RFC7181], point 3, replace the final two
bullet points with:
* A 2-Hop Tuple with N2_in_metric != UNKNOWN_METRIC and N2_lost =
false is added or removed; OR
* A 2-Hop Tuple with N2_in_metric != UNKNOWN_METRIC has N2_lost
changed; OR
* The N2_in_metric of any 2-Hop Tuple with N2_lost = false
changes.
o In Section 17.7 of [RFC7181], in the fifth bullet point, add "and
N2_lost = false" after "N2_out_metric != UNKNOWN_METRIC".
o In Section 18.4 of [RFC7181], in the third bullet point, add ",
N2_lost = false" after "N2_out_metric != UNKNOWN_METRIC".
o In Section 18.5 of [RFC7181], in the third bullet point, add ",
N2_lost = false" after "N2_in_metric != UNKNOWN_METRIC".
Dearlove & Clausen Standards Track [Page 7]
^L
RFC 7466 NHDP Optimization March 2015
o In Section 19.1 of [RFC7181], in the final main bullet point
(marked as "(OPTIONAL)"), add "and N2_lost = false" after
"N2_out_metric != UNKNOWN_METRIC".
o In Appendix C.7 of [RFC7181], in point 1, add "and N2_lost =
false" after "N2_out_metric != UNKNOWN_METRIC".
6. Security Considerations
The update to [RFC6130] enables the retention and reuse of some
information collected by that protocol, for only the duration that it
could have been used in any case. As such, this protocol introduces
no new security considerations to an implementation of [RFC6130] or
of any other protocol that uses it, such as [RFC7181].
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC6130] Clausen, T., Dean, J., and C. Dearlove, "Mobile Ad Hoc
Network (MANET) Neighborhood Discovery Protocol (NHDP)",
RFC 6130, April 2011,
<http://www.rfc-editor.org/info/rfc6130>.
[RFC7181] Clausen, T., Dearlove, C., Jacquet, P., and U. Herberg,
"The Optimized Link State Routing Protocol Version 2", RFC
7181, April 2014,
<http://www.rfc-editor.org/info/rfc7181>.
7.2. Informative References
[Err4276] RFC Errata, Errata ID 4276, RFC 6130.
[NHDP-MIB]
Herberg, U., Cole, R., Chakeres, I., and T. Clausen,
"Definition of Managed Objects for the Neighborhood
Discovery Protocol", Work in Progress, draft-ietf-manet-
rfc6779bis, August 2014.
Dearlove & Clausen Standards Track [Page 8]
^L
RFC 7466 NHDP Optimization March 2015
Acknowledgements
The authors would like to thank Liz Cullen (BAE Systems) for first
illustrating the issue addressed in this specification.
Authors' Addresses
Christopher Dearlove
BAE Systems Advanced Technology Centre
West Hanningfield Road
Great Baddow, Chelmsford
United Kingdom
Phone: +44 1245 242194
EMail: chris.dearlove@baesystems.com
URI: http://www.baesystems.com/
Thomas Heide Clausen
LIX, Ecole Polytechnique
Phone: +33 6 6058 9349
EMail: T.Clausen@computer.org
URI: http://www.ThomasClausen.org/
Dearlove & Clausen Standards Track [Page 9]
^L
|