draft-ietf-manet-dymo-18.txt   draft-ietf-manet-dymo-19.txt 
Mobile Ad hoc Networks Working I. Chakeres Mobile Ad hoc Networks Working I. Chakeres
Group CenGen Group CenGen
Internet-Draft C. Perkins Internet-Draft C. Perkins
Intended status: Standards Track WiChorus Intended status: Standards Track WiChorus
Expires: August 27, 2010 February 23, 2010 Expires: September 23, 2010 March 22, 2010
Dynamic MANET On-demand (DYMO) Routing Dynamic MANET On-demand (DYMO) Routing
draft-ietf-manet-dymo-18 draft-ietf-manet-dymo-19
Abstract Abstract
The Dynamic MANET On-demand (DYMO) routing protocol is intended for The Dynamic MANET On-demand (DYMO) routing protocol is intended for
use by mobile routers in wireless, multihop networks. DYMO use by mobile routers in wireless, multihop networks. DYMO
determines unicast routes among DYMO routers within the network in an determines unicast routes among DYMO routers within the network in an
on-demand fashion, offering improved convergence in dynamic on-demand fashion, offering improved convergence in dynamic
topologies. topologies.
Status of this Memo Status of this Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 41
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 August 27, 2010. This Internet-Draft will expire on September 23, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 37 skipping to change at page 2, line 37
5.1.3. OwnSeqNum Rollover . . . . . . . . . . . . . . . . . . 15 5.1.3. OwnSeqNum Rollover . . . . . . . . . . . . . . . . . . 15
5.1.4. Actions After OwnSeqNum Loss . . . . . . . . . . . . . 15 5.1.4. Actions After OwnSeqNum Loss . . . . . . . . . . . . . 15
5.2. DYMO Routing Table Operations . . . . . . . . . . . . . . 15 5.2. DYMO Routing Table Operations . . . . . . . . . . . . . . 15
5.2.1. Judging Routing Information's Usefulness . . . . . . . 15 5.2.1. Judging Routing Information's Usefulness . . . . . . . 15
5.2.2. Creating or Updating a Route Table Entry with 5.2.2. Creating or Updating a Route Table Entry with
Received Superior Routing Information . . . . . . . . 17 Received Superior Routing Information . . . . . . . . 17
5.2.3. Route Table Entry Timeouts . . . . . . . . . . . . . . 18 5.2.3. Route Table Entry Timeouts . . . . . . . . . . . . . . 18
5.3. Routing Messages . . . . . . . . . . . . . . . . . . . . . 18 5.3. Routing Messages . . . . . . . . . . . . . . . . . . . . . 18
5.3.1. RREQ Creation . . . . . . . . . . . . . . . . . . . . 18 5.3.1. RREQ Creation . . . . . . . . . . . . . . . . . . . . 18
5.3.2. RREP Creation . . . . . . . . . . . . . . . . . . . . 19 5.3.2. RREP Creation . . . . . . . . . . . . . . . . . . . . 19
5.3.3. Intermediate DYMO Router RREP Creation . . . . . . . . 20 5.3.3. Intermediate DYMO Router RREP Creation . . . . . . . . 21
5.3.4. RM Handling . . . . . . . . . . . . . . . . . . . . . 21 5.3.4. RM Handling . . . . . . . . . . . . . . . . . . . . . 21
5.3.5. Adding Additional Routing Information to a RM . . . . 24 5.3.5. Adding Additional Routing Information to a RM . . . . 24
5.4. Route Discovery . . . . . . . . . . . . . . . . . . . . . 25 5.4. Route Discovery . . . . . . . . . . . . . . . . . . . . . 25
5.5. Route Maintenance . . . . . . . . . . . . . . . . . . . . 26 5.5. Route Maintenance . . . . . . . . . . . . . . . . . . . . 26
5.5.1. Active Link Monitoring . . . . . . . . . . . . . . . . 26 5.5.1. Active Next-hop Router Adjacency Monitoring . . . . . 26
5.5.2. Updating Route Lifetimes During Packet Forwarding . . 26 5.5.2. Updating Route Lifetimes During Packet Forwarding . . 27
5.5.3. RERR Generation . . . . . . . . . . . . . . . . . . . 27 5.5.3. RERR Generation . . . . . . . . . . . . . . . . . . . 27
5.5.4. RERR Handling . . . . . . . . . . . . . . . . . . . . 28 5.5.4. RERR Handling . . . . . . . . . . . . . . . . . . . . 28
5.6. DYMO Identifier (DID) . . . . . . . . . . . . . . . . . . 29 5.6. DYMO Identifier (DID) . . . . . . . . . . . . . . . . . . 29
5.7. Unknown Message & TLV Types . . . . . . . . . . . . . . . 29 5.7. Unknown Message & TLV Types . . . . . . . . . . . . . . . 30
5.8. Advertising Network Addresses . . . . . . . . . . . . . . 30 5.8. Advertising Network Addresses . . . . . . . . . . . . . . 30
5.9. Simple Internet Attachment . . . . . . . . . . . . . . . . 30 5.9. Simple Internet Attachment . . . . . . . . . . . . . . . . 30
5.10. Multiple Interfaces . . . . . . . . . . . . . . . . . . . 32 5.10. Multiple Interfaces . . . . . . . . . . . . . . . . . . . 32
5.11. DYMO Control Packet/Message Generation Limits . . . . . . 32 5.11. DYMO Control Packet/Message Generation Limits . . . . . . 32
6. Configuration Parameters and Other Administrative Options . . 32 6. Administratively Configured Parameters and Timer Values . . . 32
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35
7.1. DYMO Message Type Specification . . . . . . . . . . . . . 34 7.1. DYMO Message Types Specification . . . . . . . . . . . . . 35
7.2. Packet and Message TLV Type Specification . . . . . . . . 34 7.2. Message and Address Block TLV Type Specification . . . . . 35
7.3. Address Block TLV Specification . . . . . . . . . . . . . 35 7.3. Address Block TLV Specification . . . . . . . . . . . . . 36
8. Security Considerations . . . . . . . . . . . . . . . . . . . 35 8. Security Considerations . . . . . . . . . . . . . . . . . . . 36
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 36 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 37
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.1. Normative References . . . . . . . . . . . . . . . . . . . 36 10.1. Normative References . . . . . . . . . . . . . . . . . . . 37
10.2. Informative References . . . . . . . . . . . . . . . . . . 37 10.2. Informative References . . . . . . . . . . . . . . . . . . 38
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38 Appendix A. Shifting Responsibility for an Address Between
DYMO Routers . . . . . . . . . . . . . . . . . . . . 39
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 39
1. Overview 1. Overview
The Dynamic MANET On-demand (DYMO) routing protocol enables reactive, The Dynamic MANET On-demand (DYMO) routing protocol enables reactive,
multihop unicast routing among participating DYMO routers. The basic multihop unicast routing among participating DYMO routers. The basic
operations of the DYMO protocol are route discovery and route operations of the DYMO protocol are route discovery and route
maintenance. maintenance.
During route discovery, the originator's DYMO router initiates During route discovery, the originator's DYMO router initiates
dissemination of a Route Request (RREQ) throughout the network to dissemination of a Route Request (RREQ) throughout the network to
skipping to change at page 4, line 51 skipping to change at page 4, line 51
of DYMO route discovery messages, thereby avoiding use of stale of DYMO route discovery messages, thereby avoiding use of stale
routing information. routing information.
2. Applicability Statement 2. Applicability Statement
The DYMO routing protocol is designed for stub or disconnected mobile The DYMO routing protocol is designed for stub or disconnected mobile
ad hoc networks (MANETs). DYMO handles a wide variety of mobility ad hoc networks (MANETs). DYMO handles a wide variety of mobility
patterns by dynamically determining routes on-demand. DYMO also patterns by dynamically determining routes on-demand. DYMO also
handles a wide variety of traffic patterns. In networks with a large handles a wide variety of traffic patterns. In networks with a large
number of routers, DYMO is best suited for sparse traffic scenarios number of routers, DYMO is best suited for sparse traffic scenarios
where routers forward packets to with only a small portion of the where routers forward packets to only a small portion of the other
other DYMO routers, due to the reactive nature of route discovery and DYMO routers, due to the reactive nature of route discovery and route
route maintenance. maintenance.
DYMO is applicable to memory constrained devices, since little DYMO is applicable to memory constrained devices, since little
routing state is maintained in each DYMO router. Only routing routing state is maintained in each DYMO router. Only routing
information related to active sources and destinations is maintained, information related to active sources and destinations is maintained,
in contrast to most other more proactive routing protocols that in contrast to most other more proactive routing protocols that
require routing information to all routers within the routing region require routing information to all routers within the routing region
be maintained. be maintained.
DYMO supports routers with multiple interfaces participating in the DYMO supports routers with multiple interfaces participating in the
MANET. DYMO routers can also perform routing on behalf of other MANET. DYMO routers can also perform routing on behalf of other
nodes, attached via participating or non-participating interfaces. nodes, attached via participating or non-participating interfaces.
DYMO routers perform route discovery to find a route to a particular DYMO routers perform route discovery to find a route to a particular
destination. Therefore, DYMO routers MUST be configured to initiate destination. Therefore, DYMO routers MUST be configured to initiate
route discovery on behalf of certain sources and find routes to and respond to route discovery on behalf of certain nodes, identified
certain destinations. When DYMO is the only protocol interacting by address. When DYMO is the only protocol interacting with the
with the forwarding table, DYMO MAY be configured to perform route forwarding table, DYMO MAY be configured to perform route discovery
discovery for all unknown unicast destinations. for all unknown unicast destinations.
At any time within a DYMO routing region only one DYMO router SHOULD
be responsible for, i.e. "own", a particular address. Coordination
among multiple DYMO routers to distribute routing information
correctly for a shared address (i.e. an address that is advertised
and can be reached via multiple DYMO routers) is not described in
this document. The router behavior for shifting responsibility for
an address from one DYMO router to another are described in
Appendix A.
DYMO MUST only utilizes bidirectional links. In the case of possible DYMO MUST only utilizes bidirectional links. In the case of possible
unidirectional links, either blacklists ( see Section 7.2) or other unidirectional links, either blacklists ( see Section 7.2) or other
means (e.g. adjacency establishment with only neighboring routers means (e.g. adjacency establishment with only neighboring routers
that have bidirectional communication as indicated by NHDP that have bidirectional communication as indicated by NHDP
[I-D.ietf-manet-nhdp]) of ensuring and monitoring bi-directionality [I-D.ietf-manet-nhdp]) of ensuring and monitoring bi-directionality
should be used. Otherwise, persistent packet loss may occur. should be used. Otherwise, persistent packet loss may occur.
The routing algorithm in DYMO may be operated at layers other than The routing algorithm in DYMO may be operated at layers other than
the network layer, using layer-appropriate addresses. For operation the network layer, using layer-appropriate addresses. For operation
skipping to change at page 6, line 6 skipping to change at page 6, line 11
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "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]. document are to be interpreted as described in [RFC2119].
Additionally, this document uses some terminology from [RFC5444]. Additionally, this document uses some terminology from [RFC5444].
This document defines the following terminology: This document defines the following terminology:
Adjacency Adjacency
A relationship formed between selected bi-directional neighboring A relationship between selected bi-directional neighboring routers
routers for the purpose of exchanging routing information. Not for the purpose of exchanging routing information. Not every pair
every pair of neighboring routers become adjacent. Neighboring of neighboring routers become adjacent. Neighboring routers may
routers may form an adjacency based several different pieces of form an adjacency based several different pieces of information or
information or protocols; for example, exchange of DYMO routing protocols; for example, exchange of DYMO routing messages, other
messages, other protocols (e.g. NDP [RFC4861] or NHDP protocols (e.g. NDP [RFC4861] or NHDP [I-D.ietf-manet-nhdp]), or
[I-D.ietf-manet-nhdp]), or manual configuration. Similarly, loss manual configuration. Similarly, loss of a routing adjacency may
of a routing adjacency may also be based upon several pieces of also be based upon several pieces of information, and monitoring
information. of adjacencies where packets are being forwarded is required (see
Section 5.5.1).
Distance (Dist) Distance (Dist)
A metric of the distance a message or piece of information has A metric of the distance a message or piece of information has
traversed. The minimum value of distance is the number of IP hops traversed. The minimum value of distance is the number of IP hops
traversed. The maximum value is 65,535. traversed. The maximum value is 65,535.
DYMO Identifier (DID) DYMO Identifier (DID)
A DID is maintained for each DYMO routing process (ThisNode.DID), A DID is maintained for each DYMO routing process (ThisNode.DID),
and the default value is zero (0). Each routing message is tagged and the default value is zero (0). Each routing message is tagged
with its associated DID (MsgTLV.DID), unless zero (0). Upon with its associated DID (MsgTLV.DID), unless zero (0). Upon
skipping to change at page 7, line 46 skipping to change at page 8, line 6
4.1. Route Table Entry 4.1. Route Table Entry
The route table entry is a conceptual data structure. The route table entry is a conceptual data structure.
Implementations may use any internal representation that conforms to Implementations may use any internal representation that conforms to
the semantics of a route as specified in this document. the semantics of a route as specified in this document.
Conceptually, a route table entry has the following fields: Conceptually, a route table entry has the following fields:
Route.Address Route.Address
The IP (host or network) destination address of the node(s) The (host or network) destination address of the node(s)
associated with the routing table entry. associated with the routing table entry.
Route.Prefix Route.Prefix
Indicates that the associated address is a network address, rather Indicates that the associated address is a network address, rather
than a host address. The value is the length of the netmask/ than a host address. The value is the length of the netmask/
prefix. prefix.
Route.SeqNum Route.SeqNum
The DYMO SeqNum associated with this routing information. The DYMO SeqNum associated with this routing information.
skipping to change at page 9, line 47 skipping to change at page 9, line 49
Unicast DYMO messages (e.g. RREP) unless otherwise specified in this Unicast DYMO messages (e.g. RREP) unless otherwise specified in this
document are sent with the IP destination set to the document are sent with the IP destination set to the
Route.NextHopAddress of the route to the TargetNode. Route.NextHopAddress of the route to the TargetNode.
The IPv4 TTL (IPv6 Hop Limit) field for all packets containing DYMO The IPv4 TTL (IPv6 Hop Limit) field for all packets containing DYMO
messages is set to 255. If a packet is received with a value other messages is set to 255. If a packet is received with a value other
than 255, it is discarded. This mechanism helps to ensures that than 255, it is discarded. This mechanism helps to ensures that
packets have not passed through any intermediate routers, and it is packets have not passed through any intermediate routers, and it is
known as GTSM [RFC5082]. known as GTSM [RFC5082].
The length of an IP address (32 bits for IPv4 and 128 bits for IPv6) The length of an address (32 bits for IPv4 and 128 bits for IPv6)
inside a DYMO message depends on the msg-addr-length (MAL) in the inside a DYMO message depends on the msg-addr-length (MAL) in the
msg-header, as specified in [RFC5444]. msg-header, as specified in [RFC5444].
If a packet contains only a single DYMO message and no packet TLVs, If a packet contains only a single DYMO message and no packet TLVs,
it need not include a packet-header [RFC5444]. it need not include a packet-header [RFC5444].
The aggregation of multiple messages into a packet is not specified The aggregation of multiple messages into a packet is not specified
in this document, but if aggregation does occur the IP.SourceAddress in this document, but if aggregation does occur the IP.SourceAddress
and IP.DestinationAddress of all contained messages MUST be the same. and IP.DestinationAddress of all contained messages MUST be the same.
skipping to change at page 12, line 50 skipping to change at page 12, line 50
| tlv-block-size=6 |DYMOSeqNum-type|0|1|0|1|0|0|Rsv| | tlv-block-size=6 |DYMOSeqNum-type|0|1|0|1|0|0|Rsv|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Index-start=1 | tlv-length=2 | Orig.SeqNum | | Index-start=1 | tlv-length=2 | Orig.SeqNum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1 Figure 1
4.2.3. Route Error (RERR) 4.2.3. Route Error (RERR)
A RERR message is used to disseminate the information that a route is A RERR message is used to disseminate the information that a route is
not available for one or more particular IP addresses. not available for one or more particular addresses.
RERR creation and handling are described in Section 5.5. RERR creation and handling are described in Section 5.5.
A RERR requires the following information: A RERR requires the following information:
IP.SourceAddress IP.SourceAddress
The IP address of the DYMO router that sent this packet. This The IP address of the DYMO router that sent this packet. This
field is generally filled automatically by the operating system field is generally filled automatically by the operating system
and should not require special handling. and should not require special handling.
skipping to change at page 13, line 24 skipping to change at page 13, line 24
ROUTERS [RFC5498]. For unicast RERR messages, the IP address is ROUTERS [RFC5498]. For unicast RERR messages, the IP address is
set to the NextHopAddress. set to the NextHopAddress.
UDP.DestinationPort UDP.DestinationPort
By default, the UDP destination port is set to MANET [RFC5498]. By default, the UDP destination port is set to MANET [RFC5498].
MsgHdr.HopLimit MsgHdr.HopLimit
The remaining number of hops this message is allowed to traverse. The remaining number of hops this message is allowed to traverse.
AddBlk.UnreachableNode.Address AddBlk.UnreachableNode.Address
The IP address of an UnreachableNode and its associated prefix The address of an UnreachableNode and its associated prefix
length. Multiple unreachable addresses may be included in a RERR. length. Multiple unreachable addresses may be included in a RERR.
A Route Error may optionally include the following information: A Route Error may optionally include the following information:
UnreachableNode.AddTLV.SeqNum UnreachableNode.AddTLV.SeqNum
The last known DYMO sequence number of the unreachable node. If a The last known DYMO sequence number of the unreachable node. If a
SeqNum for an IP address is not included, it is assumed to be SeqNum for an address is not included, it is assumed to be
unknown. This case occurs when a node receives a message to unknown. This case occurs when a node receives a message to
forward to a destination for which it does not have any forward to a destination for which it does not have any
information in its routing table. information in its routing table.
Example IPv4 RERR Example IPv4 RERR
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
IP Header IP Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 15, line 7 skipping to change at page 15, line 7
5. Detailed Operation 5. Detailed Operation
5.1. DYMO Sequence Numbers 5.1. DYMO Sequence Numbers
DYMO sequence numbers allow DYMO routers to judge the freshness of DYMO sequence numbers allow DYMO routers to judge the freshness of
routing information and ensure loop freedom. routing information and ensure loop freedom.
5.1.1. Maintaining A Node's Own Sequence Number 5.1.1. Maintaining A Node's Own Sequence Number
DYMO requires that each DYMO router in the network to maintain its DYMO requires that each DYMO router in the network maintain its own
own DYMO sequence number (OwnSeqNum), a 16-bit unsigned integer. The DYMO sequence number (OwnSeqNum) on behalf of the addresses for which
it is responsible. OwnSeqNum a 16-bit unsigned integer. The
circumstances for ThisNode to incrementing its OwnSeqNum are circumstances for ThisNode to incrementing its OwnSeqNum are
described in Section 5.3. described in Section 5.3.
5.1.2. Numerical Operations on OwnSeqNum 5.1.2. Numerical Operations on OwnSeqNum
When ThisNode increments its OwnSeqNum (as described in Section 5.3) When ThisNode increments its OwnSeqNum (as described in Section 5.3)
it MUST do so by treating the sequence number value as an unsigned it MUST do so by treating the sequence number value as an unsigned
number. number.
5.1.3. OwnSeqNum Rollover 5.1.3. OwnSeqNum Rollover
skipping to change at page 19, line 6 skipping to change at page 19, line 6
5.3. Routing Messages 5.3. Routing Messages
5.3.1. RREQ Creation 5.3.1. RREQ Creation
Before a DYMO router creates a RREQ it SHOULD increment its OwnSeqNum Before a DYMO router creates a RREQ it SHOULD increment its OwnSeqNum
by one (1) according to the rules specified in Section 5.1.2. by one (1) according to the rules specified in Section 5.1.2.
Incrementing OwnSeqNum will ensure that all nodes with existing Incrementing OwnSeqNum will ensure that all nodes with existing
routing information will consider this new information superior to routing information will consider this new information superior to
existing routing table information. If the sequence number is not existing routing table information. If the sequence number is not
incremented, certain DYMO routers might not consider this information incremented, certain DYMO routers might not consider this information
superior, if they have existing better routing information already. superior, if they have existing better routing information.
First, ThisNode adds the AddBlk.TargetNode.Address to the RREQ; the First, ThisNode adds the AddBlk.TargetNode.Address to the RREQ; the
unicast IP Destination Address for which a forwarding route does not unicast IP Destination Address for which a forwarding route does not
exist. exist.
If a previous value of the TargetNode.SeqNum is known (from a routing If a previous value of the TargetNode.SeqNum is known (from a routing
table entry using longest-prefix matching), it SHOULD be placed in table entry using longest-prefix matching), it SHOULD be placed in
TargetNode.AddTLV.SeqNum in all but the last RREQ attempt. If a TargetNode.AddTLV.SeqNum in all but the last RREQ attempt. If a
TargetNode.SeqNum is not included, it is assumed to be unknown by TargetNode.SeqNum is not included, it is assumed to be unknown by
handling nodes. This operation ensures that no intermediate DYMO handling nodes. This operation ensures that no intermediate DYMO
routers reply, and ensures that the TargetNode's DYMO router routers reply, and ensures that the TargetNode's DYMO router
increments its sequence number. increments its sequence number.
Next, the node adds AddBlk.OrigNode.Address, its prefix, and the Next, the node adds AddBlk.OrigNode.Address, its prefix, and the
OrigNode.AddTLV.SeqNum (OwnSeqNum) to the RM. OrigNode.AddTLV.SeqNum (OwnSeqNum) to the RM.
The OrigNode.Address is the address of the source for which this DYMO The OrigNode.Address is the address of the source for which this DYMO
router is initiating this route discovery. The OrigNode.Address MUST router is initiating this route discovery. The OrigNode.Address MUST
be a unicast IP address. This information will be used by nodes to be a unicast address. This information will be used by nodes to
create a route toward the OrigNode, enabling delivery of a RREP, and create a route toward the OrigNode, enabling delivery of a RREP, and
eventually used for proper forwarding of data packets. eventually used for proper forwarding of data packets.
If OrigNode.Dist is included it is set to a number greater than zero If OrigNode.Dist is included it is set to a number greater than zero
(0). (0).
The MsgHdr.HopLimit SHOULD be set to MSG_HOPLIMIT. The MsgHdr.HopLimit SHOULD be set to MSG_HOPLIMIT.
For RREQ, the MsgHdr.HopLimit MAY be set in accordance with an For RREQ, the MsgHdr.HopLimit MAY be set in accordance with an
expanding ring search as described in [RFC3561] to limit the RREQ expanding ring search as described in [RFC3561] to limit the RREQ
propagation to a subset of the local network and possibly reduce propagation to a subset of the local network and possibly reduce
route discovery overhead. route discovery overhead.
The IP.DestinationAddress for multicast RREQ is set to LL-MANET- The IP.DestinationAddress for multicast RREQ is set to LL-MANET-
ROUTERS. The IP.DestinationAddress for unicast RREQ is set to the ROUTERS. For links that do not support multicast or situations in
NextHopAddress. which unicast messaging is preferred, the IP.DestinationAddress for
unicast RREQ is set to the NextHopAddress.
Each DYMO routing protocol message SHOULD contain ThisNode.DID's Each DYMO routing protocol message SHOULD contain ThisNode.DID's
value in a message TLV (MsgTLV.DID). If ThisNode.DID value is zero value in a message TLV (MsgTLV.DID). If ThisNode.DID value is zero
(0) it MAY be omitted. (0) it MAY be omitted.
5.3.2. RREP Creation 5.3.2. RREP Creation
First, the AddBlk.TargetNode.Address is added to the RREP. The First, the AddBlk.TargetNode.Address is added to the RREP. The
TargetNode is the ultimate destination of this RREP; the RREQ TargetNode is the ultimate destination of this RREP; the RREQ
OrigNode.Address. OrigNode.Address.
skipping to change at page 20, line 31 skipping to change at page 20, line 32
If TargetNode.SeqNum is included in the RM and TargetNode.SeqNum == If TargetNode.SeqNum is included in the RM and TargetNode.SeqNum ==
OwnSeqNum (using signed 16-bit arithmetic) and Dist will not be OwnSeqNum (using signed 16-bit arithmetic) and Dist will not be
included in the RREP being generated, OwnSeqNum SHOULD be incremented included in the RREP being generated, OwnSeqNum SHOULD be incremented
by one (1) according to the rules specified in Section 5.1.2. by one (1) according to the rules specified in Section 5.1.2.
If OwnSeqNum is not incremented the routing information might be If OwnSeqNum is not incremented the routing information might be
considered stale. In this case, the RREP might not reach the RREP considered stale. In this case, the RREP might not reach the RREP
Target. Target.
After any of the sequence number operations above, the RREP After any of the sequence number operations above, the RREP
OrigNode.AddTLV.SeqNum (OwnSeqNum) MUST also added to the RREP. OrigNode.AddTLV.SeqNum (OwnSeqNum) MUST also be added to the RREP.
Other AddTLVs in the RREP for the OrigNode and TargetNode SHOULD be Other AddTLVs in the RREP for the OrigNode and TargetNode SHOULD be
included and set accordingly. If OrigNode.Dist is included it is set included and set accordingly. If OrigNode.Dist is included it is set
to a number greater than zero (0) and less than 65,535. The Distance to a number greater than zero (0) and less than 65,535. The Distance
value will influence judgment of the routing information value will influence judgment of the routing information
(Section 5.2.1) against known information at other DYMO routers that (Section 5.2.1) against known information at other DYMO routers that
handle this RM. handle this RM.
The MsgHdr.HopLimit is set to MSG_HOPLIMIT. The MsgHdr.HopLimit is set to MSG_HOPLIMIT.
skipping to change at page 21, line 43 skipping to change at page 21, line 48
message contains a MsgTLV.DID it SHOULD match ThisNode.DID's value. message contains a MsgTLV.DID it SHOULD match ThisNode.DID's value.
If the message does not contain a MsgTLV.DID it is assumed to be zero If the message does not contain a MsgTLV.DID it is assumed to be zero
(0) and SHOULD be discarded if ThisNode.DID's value is not zero (0). (0) and SHOULD be discarded if ThisNode.DID's value is not zero (0).
Next, ThisNode MAY selectively attend to messages based upon Next, ThisNode MAY selectively attend to messages based upon
information in the message. ThisNode SHOULD only handle messages information in the message. ThisNode SHOULD only handle messages
from adjacent DYMO routers. If ThisNode chooses not to handle this from adjacent DYMO routers. If ThisNode chooses not to handle this
message, the message is discarded and further processing stopped. message, the message is discarded and further processing stopped.
ThisNode checks if the AddBlk.OrigNode.Address is a valid multihop- ThisNode checks if the AddBlk.OrigNode.Address is a valid multihop-
capable (e.g. site or global scope) unicast IP address. If the capable (e.g. site or global scope) unicast address. If the address
address is not a valid unicast IP address, the messages is discarded is not a valid unicast address, the messages is discarded and further
and further processing stopped. processing stopped.
ThisNode also checks whether AddBlk.OrigNode.Address is an address ThisNode also checks whether AddBlk.OrigNode.Address is an address
handled by this DYMO router. If this node is the originating DYMO handled by this DYMO router. If this node is the originating DYMO
router, the RM is dropped. router, the RM is dropped.
ThisNode checks if the AddBlk.TargetNode.Address is a valid multihop- ThisNode checks if the AddBlk.TargetNode.Address is a valid multihop-
capable unicast IP address. If the address is not a valid unicast IP capable unicast address. If the address is not a valid unicast
address, the messages is discarded and further processing stopped. address, the messages is discarded and further processing stopped.
Next, ThisNode checks whether its routing table has an entry to the Next, ThisNode checks whether its routing table has an entry to the
AddBlk.OrigNode.Address using longest-prefix matching [RFC1812]. If AddBlk.OrigNode.Address using longest-prefix matching [RFC1812]. If
a route with a valid Route.SeqNum does not exist, then the new a route with a valid Route.SeqNum does not exist, then the new
routing information is considered fresh and a new route table entry routing information is considered fresh and a new route table entry
is created and updated as described in Section 5.2.2. If a route is created and updated as described in Section 5.2.2. If a route
table entry does exists and it has a valid Route.SeqNum, the incoming table entry does exists and it has a valid Route.SeqNum, the incoming
routing information is compared with the route table entry following routing information is compared with the route table entry following
the procedure described in Section 5.2.1. If the incoming routing the procedure described in Section 5.2.1. If the incoming routing
skipping to change at page 22, line 29 skipping to change at page 22, line 33
AddTLV.Dist information, the AddTLV.Dist information MAY be AddTLV.Dist information, the AddTLV.Dist information MAY be
incremented. The updated Distance value will influence judgment of incremented. The updated Distance value will influence judgment of
the routing information (Section 5.2.1). the routing information (Section 5.2.1).
If the resulting Distance value for the OrigNode is greater than If the resulting Distance value for the OrigNode is greater than
65,535, the message is discarded. If the resulting Distance value 65,535, the message is discarded. If the resulting Distance value
for another node is greater than 65,535, the associated address and for another node is greater than 65,535, the associated address and
its information are removed from the RM. its information are removed from the RM.
After handling the OrigNode's routing information, then each address After handling the OrigNode's routing information, then each address
that is not the TargetNode should be considered for creating and that is not the TargetNode MAY be considered for creating and
updating routes. Creating and updating routes to other nodes can updating routes. Creating and updating routes to other nodes can
eliminate RREQ for those IP destinations, in the event that data eliminate RREQ for those IP destinations, in the event that data
needs to be forwarded to the IP destination(s) now or in the near needs to be forwarded to the IP destination(s) now or in the near
future. future.
For each of the additional addresses considered, ThisNode first For each of the additional addresses considered, ThisNode first
checks the that the address is a multihop-capable unicast IP address. checks the that the address is a multihop-capable unicast address.
If the address is not a unicast IP address, the address and all If the address is not a unicast address, the address and all related
related information MUST be removed. information MUST be removed.
If the routing table does not have a matching route with a valid If the routing table does not have a matching route with a valid
Route.SeqNum for this additional address using longest-prefix Route.SeqNum for this additional address using longest-prefix
matching exists, then a route is created and updated as described in matching, then a route is created and updated as described in
Section 5.2.2. If a route table entry exists with a valid Section 5.2.2. If a route table entry exists with a valid
Route.SeqNum, the incoming routing information is compared with the Route.SeqNum, the incoming routing information is compared with the
route table entry following the procedure described in Section 5.2.1. route table entry following the procedure described in Section 5.2.1.
If the incoming routing information is considered superior, the route If the incoming routing information is considered superior, the route
table entry is updated as described in Section 5.2.2. table entry is updated as described in Section 5.2.2.
If the routing information for an AdditionalNode.Address is not If the routing information for an AdditionalNode.Address is not
considered superior, then it is removed from the RM. Removing this considered superior, then it is removed from the RM. Removing this
information ensures that the information is not propagated. information ensures that the information is not propagated.
At this point, if the routing information for the OrigNode was not At this point, if the routing information for the OrigNode was not
superior then this RM SHOULD be discarded and no further processing superior then this RM SHOULD be discarded and no further processing
of this message SHOULD be performed. of this message SHOULD be performed.
If the ThisNode is the DYMO router responsible for the TargetNode and If the ThisNode is the DYMO router responsible for the TargetNode and
this RM is a RREQ, then ThisNode responds with a RREP to the RREQ this RM is a RREQ, then ThisNode responds with a RREP to the RREQ
OrigNode (the new RREP's TargetNode). The procedure for issuing a OrigNode (the new RREP's TargetNode). The procedure for issuing a
new RREP is described in Section 5.3.2. At this point, ThisNode need new RREP is described in Section 5.3.2. At this point, ThisNode need
not perform any more operations for this RM. not perform any more operations for the RM being processed.
Alternatively, ThisNode MAY choose to distribute routing information As an alternative to issuing a RREP, ThisNode MAY choose to
about ThisNode (the RREQ TargetNode) more widely, ThisNode MAY distribute routing information about ThisNode (the RREQ TargetNode)
optionally perform a route discovery; by issuing a RREQ with ThisNode more widely. That is, ThisNode MAY optionally perform a route
listed as the TargetNode, using the procedure in Section 5.3.1. At discovery; by issuing a RREQ with ThisNode listed as the TargetNode,
this point, ThisNode need not perform any more operations for the using the procedure in Section 5.3.1. At this point, ThisNode need
original RM. not perform any more operations for the RM being processed.
If ThisNode is not the TargetNode, this RM is a RREQ, the RREQ If ThisNode is not the TargetNode, this RM is a RREQ, the RREQ
contains the TargetNode.AddTLV.SeqNum, and ThisNode has a forwarding contains the TargetNode.AddTLV.SeqNum, and ThisNode has a forwarding
route to the TargetNode with a SeqNum where Route.TargetNode.SeqNum - route to the TargetNode with a SeqNum where Route.TargetNode.SeqNum -
RREQ.TargetNode.AddTLV.SeqNum >= 0 (using signed 16-bit arithmetic); RREQ.TargetNode.AddTLV.SeqNum >= 0 (using signed 16-bit arithmetic);
then this node MAY respond with an intermediate DYMO router RREP. then ThisNode MAY respond with an intermediate DYMO router RREP. The
The procedure for performing intermediate DYMO router RREP is procedure for performing intermediate DYMO router RREP is described
described in Section 5.3.3. If an intermediate DYMO router RREP is in Section 5.3.3. If an intermediate DYMO router RREP is sent,
sent, ThisNode need not perform any more operations for the original ThisNode need not perform any more operations for the RM being
RM. processed.
After handling a RM or creating a new RM, a node can append After handling a RM or creating a new RM, ThisNode MAY append
additional routing information to the RM, according to the procedure additional routing information to the RM prior to redistributing this
described in Section 5.3.5. The additional routing information can information, according to the procedure described in Section 5.3.5.
help reduce route discoveries at the expense of increased message The additional routing information can help reduce route discoveries
size. at the expense of increased message size.
For each address (except the TargetNode) in the RM that includes For each address (except the TargetNode) in the RM that includes
AddTLV.Dist information, the AddTLV.Dist information is incremented AddTLV.Dist information, the AddTLV.Dist information is incremented
by at least one (1). The updated Distance value will influence by at least one (1). The updated Distance value will influence
judgment of the routing information (Section 5.2.1) against known judgment of the routing information (Section 5.2.1) against known
information at other DYMO routers that handle this RM. information at other DYMO routers that handle this RM.
If the resulting Distance value for the OrigNode is greater than If the resulting Distance value for the OrigNode is greater than
65,535, the message is discarded. If the resulting Distance value 65,535, the message is discarded. If the resulting Distance value
for another node is greater than 65,535, the associated address and for another node is greater than 65,535, the associated address and
skipping to change at page 24, line 14 skipping to change at page 24, line 19
IP.DestinationAddress LL-MANET-ROUTERS [RFC5498]. If the RREQ is IP.DestinationAddress LL-MANET-ROUTERS [RFC5498]. If the RREQ is
unicast, the IP.DestinationAddress is set to the NextHopAddress. unicast, the IP.DestinationAddress is set to the NextHopAddress.
If this RM's MsgHdr.HopLimit is greater than or equal to one (1), If this RM's MsgHdr.HopLimit is greater than or equal to one (1),
ThisNode is not the TargetNode, AND this RM is a RREP, then the ThisNode is not the TargetNode, AND this RM is a RREP, then the
current RM is sent to the Route.NextHopAddress for the RREP's current RM is sent to the Route.NextHopAddress for the RREP's
TargetNode.Address. If no forwarding route exists to Target.Address, TargetNode.Address. If no forwarding route exists to Target.Address,
then a RERR SHOULD be issued to the OrigNode of the RREP. then a RERR SHOULD be issued to the OrigNode of the RREP.
By sending the updated RM ThisNode is advertising that it will By sending the updated RM ThisNode is advertising that it will
provide routing for IP addresses contained in the outgoing RM based provide routing for addresses contained in the outgoing RM based on
on the information enclosed. ThisNode MAY choose not to send the RM, the information enclosed. ThisNode MAY choose not to send the RM,
though not resending this RM could decrease connectivity in the though not resending this RM could decrease connectivity in the
network or result in a non-shortest distance path. network or result in a non-shortest distance path.
Some examples of why ThisNode might choose to not re-issue a RM are: Some examples of why ThisNode might choose to not re-issue a RM are:
if ThisNode does not want to advertise routing for the contained IP if ThisNode does not want to advertise routing for the contained
addresses because it is already heavily loaded; if ThisNode has addresses because it is already heavily loaded; if ThisNode has
already issued nearly identical routing information (e.g. ThisNode already issued nearly identical routing information (e.g. ThisNode
had recently issued a RM with nearly the same distance); or if had recently issued a RM with nearly the same distance); or if
ThisNode is low on energy and does not want to expend energy for ThisNode is low on energy and does not want to expend energy for
control message sending or packet forwarding. This type of advanced control message sending or packet forwarding. These types of
behavior is not defined in this specification. advanced behavior are not defined in this specification.
5.3.5. Adding Additional Routing Information to a RM 5.3.5. Adding Additional Routing Information to a RM
Appending routing information can alleviate route discovery attempts Appending routing information can alleviate route discovery attempts
to the nodes whose information is included, if other DYMO routers use to the nodes whose information is included, if other DYMO routers use
this information to update their routing tables. this information to update their routing tables.
DYMO routers can append routing information to a RM. This option DYMO routers can append routing information to a RM. This option
should be administratively configurable or intelligently controlled. (APPEND_INFORMATION) should be administratively configurable or
intelligently controlled.
Prior to appending an address controlled by this DYMO router to a RM, Prior to appending an address controlled by this DYMO router to a RM,
ThisNode MAY increment its OwnSeqNum as defined in Section 5.1.2. If ThisNode MAY increment its OwnSeqNum as defined in Section 5.1.2. If
OwnSeqNum is not incremented the appended routing information might OwnSeqNum is not incremented the appended routing information might
not be considered superior, when received by nodes with existing not be considered superior, when received by nodes with existing
routing information. Incrementation of the sequence number when routing information. Incrementation of the sequence number when
appending information to an RM in transit should be administratively appending information to an RM in transit (APPEND_INFORMATION_SEQNUM)
configurable or intelligently controlled. should be administratively configurable or intelligently controlled.
If an address controlled by this DYMO router includes ThisNode.Dist, If an address controlled by this DYMO router includes ThisNode.Dist,
it is set to a number greater than zero (0). it is set to a number greater than zero (0).
For added addresses (and their prefixes) not controlled by this DYMO For added addresses (and their prefixes) not controlled by this DYMO
router, Route.Dist can be included if known. If Route.Dist is not router, Route.Dist can be included if known. If Route.Dist is not
known, it MUST NOT be included. known, it MUST NOT be included.
MaxAge information about the appended address(es) MUST be included. MaxAge information about the appended address(es) MUST be included.
skipping to change at page 25, line 27 skipping to change at page 25, line 31
When a source's DYMO router needs to forward a data packet on behalf When a source's DYMO router needs to forward a data packet on behalf
of an attached node and it does not have a forwarding route to the of an attached node and it does not have a forwarding route to the
data packet's unicast IP destination address, ThisNode sends a RREQ data packet's unicast IP destination address, ThisNode sends a RREQ
(described in Section 5.3.1) to discover a route to the particular (described in Section 5.3.1) to discover a route to the particular
destination (TargetNode). destination (TargetNode).
After issuing a RREQ, the OrigNode DYMO router waits for a route to After issuing a RREQ, the OrigNode DYMO router waits for a route to
be created to the TargetNode. If a route is not created within be created to the TargetNode. If a route is not created within
RREQ_WAIT_TIME, ThisNode may again try to discover a route by issuing RREQ_WAIT_TIME, ThisNode may again try to discover a route by issuing
another RREQ using the procedure defined in Section 5.3.1 again. another RREQ using the procedure defined in Section 5.3.1 again.
Route discovery SHOULD be considered failed after
DISCOVERY_ATTEMPTS_MAX and the final RREQ's corresponding
RREQ_WAIT_TIME.
To reduce congestion in a network, repeated attempts at route To reduce congestion in a network, repeated attempts at route
discovery for a particular TargetNode SHOULD utilize an exponential discovery for a particular TargetNode SHOULD utilize an exponential
backoff. backoff.
For example, the first time a DYMO router issues a RREQ, it waits For example, the first time a DYMO router issues a RREQ, it waits
RREQ_WAIT_TIME for a route to the TargetNode. If a route is not RREQ_WAIT_TIME for a route to the TargetNode. If a route is not
found within that time, the DYMO router MAY send another RREQ. If a found within that time, the DYMO router MAY send another RREQ. If a
route is not found within two (2) times the current waiting time, route is not found within two (2) times the current waiting time,
another RREQ may be sent, up to a total of RREQ_TRIES. For each another RREQ MAY be sent. No more than DISCOVERY_ATTEMPTS_MAX route
additional attempt, the waiting time for the previous RREQ is discovery attempts SHOULD be made before considering route discovery
multiplied by two (2) so that the waiting time conforms to a binary for this destination to have failed. For each additional attempt,
exponential backoff. the waiting time for the previous RREQ is multiplied by two (2) so
that the waiting time conforms to a binary exponential backoff.
Data packets awaiting a route SHOULD be buffered by the source's DYMO Data packets awaiting a route SHOULD be buffered by the source's DYMO
router. This buffer SHOULD have a fixed limited size router. This buffer SHOULD have a fixed limited size
(BUFFER_SIZE_PACKETS or BUFFER_SIZE_BYTES) and older data packets (BUFFER_SIZE_PACKETS or BUFFER_SIZE_BYTES) and older data packets
SHOULD be discarded first. SHOULD be discarded first.
Buffering of data packets can have both positive and negative Buffering of data packets can have both positive and negative
effects, and therefore buffer settings SHOULD be administratively effects, and therefore buffer settings (BUFFER_DURING_DISCOVERY)
configurable or intelligently controlled. SHOULD be administratively configurable or intelligently controlled.
If a route discovery has been attempted RREQ_TRIES times without If a route discovery attempt has failed (i.e. an attempt or multiple
receiving a route to the TargetNode, all data packets destined for attempts have been made without receiving a RREP) to find a route to
the corresponding TargetNode are dropped from the buffer and a the TargetNode, any data packets buffered for for the corresponding
Destination Unreachable ICMP message should be delivered to the TargetNode are dropped and a Destination Unreachable ICMP message
source. SHOULD be delivered to the source.
5.5. Route Maintenance 5.5. Route Maintenance
A RERR SHOULD be issued if a data packet is to be forwarded and it A RERR SHOULD be issued if a data packet is to be forwarded and it
cannot be delivered to the next-hop because no forwarding route for cannot be delivered to the next-hop because no forwarding route for
the IP.DestinationAddress exists; RERR generation is described in the IP.DestinationAddress exists; RERR generation is described in
Section 5.5.3. Section 5.5.3.
Upon this condition, an ICMP Destination Unreachable message SHOULD Upon this condition, an ICMP Destination Unreachable message SHOULD
NOT be generated unless this router is responsible for the NOT be generated unless this router is responsible for the
IP.DestinationAddress and that IP.DestinationAddress is known to be IP.DestinationAddress and that IP.DestinationAddress is known to be
unreachable. unreachable.
In addition to inability to forward a data packet, a RERR SHOULD be In addition to inability to forward a data packet, a RERR SHOULD be
issued immediately after detecting a broken link of an forwarding issued immediately after detecting a broken link (see Section 5.5.1)
route to quickly notify DYMO routers that a link break occurred and of a forwarding route to quickly notify DYMO routers that a that
that certain routes are no longer available. If the route with the certain routes are no longer available. If a newly unavailable route
broken link has not been used recently (indicated by ROUTE_USED), the has not been used recently (indicated by ROUTE_USED), the RERR SHOULD
RERR SHOULD NOT be generated. NOT be generated.
5.5.1. Active Link Monitoring
Nodes MUST monitor next-hop links on forwarding routes. This 5.5.1. Active Next-hop Router Adjacency Monitoring
monitoring can be accomplished by one or several mechanisms,
including:
o Link layer feedback Nodes MUST monitor connectivity to adjacent next-hop DYMO routers on
forwarding routes. This monitoring can be accomplished by one or
several mechanisms, including:
o Neighborhood discovery [I-D.ietf-manet-nhdp] o Neighborhood discovery [I-D.ietf-manet-nhdp]
o Route timeout o Route timeout
o Lower layer feedback that a particular adjacent router is no
longer reachable
o Other monitoring mechanisms or heuristics o Other monitoring mechanisms or heuristics
Upon determining that a link is broken or the next-hop is Upon determining that a next-hop DYMO router is unreachable, ThisNode
unreachable, ThisNode MUST remove the affected forwarding routes MUST remove the affected forwarding routes (those with an unreachable
(those with an unreachable next-hop) and unset the Route.Forwarding next-hop) and unset the Route.Forwarding flag. ThisNode also flags
flag. ThisNode also flags the associated routes in DYMO's routing the associated routes in DYMO's routing table as Broken. For each
table as Broken. For each broken route a timer for ROUTE_DELETE is broken route a timer for ROUTE_DELETE is set to ROUTE_DELETE_TIMEOUT.
set to ROUTE_DELETE_TIMEOUT.
5.5.2. Updating Route Lifetimes During Packet Forwarding 5.5.2. Updating Route Lifetimes During Packet Forwarding
To avoid removing the forwarding route to reach the IP.SourceAddress, To avoid removing the forwarding route to reach the IP.SourceAddress,
ThisNode SHOULD set a timeout (ROUTE_USED) to ROUTE_USED_TIMEOUT for ThisNode SHOULD set a timeout (ROUTE_USED) to ROUTE_USED_TIMEOUT for
the route to the IP.SourceAddress upon receiving a data packet. If a the route to the IP.SourceAddress upon receiving a data packet. If a
timer for ROUTE_DELETE is set, it is removed. timer for ROUTE_DELETE is set, it is removed.
To avoid removing the forwarding route to the IP.DestinationAddress To avoid removing the forwarding route to the IP.DestinationAddress
that is being used, ThisNode SHOULD set a timeout (ROUTE_USED) to that is being used, ThisNode SHOULD set a timeout (ROUTE_USED) to
skipping to change at page 27, line 34 skipping to change at page 27, line 41
SHOULD be placed in the RERR. The MsgHdr.HopLimit is set to SHOULD be placed in the RERR. The MsgHdr.HopLimit is set to
MSG_HOPLIMIT. MSG_HOPLIMIT.
Additional UnreachableNodes that require the same unavailable link Additional UnreachableNodes that require the same unavailable link
(routes with the same Route.NextHopAddress and (routes with the same Route.NextHopAddress and
Route.NextHopInterface) SHOULD be added to the RERR, as additional Route.NextHopInterface) SHOULD be added to the RERR, as additional
AddBlk.UnreachableNode.Address entries with their associated prefix. AddBlk.UnreachableNode.Address entries with their associated prefix.
The SeqNum if known SHOULD also be included. Appending The SeqNum if known SHOULD also be included. Appending
UnreachableNode information notifies each node that handles this UnreachableNode information notifies each node that handles this
message of additional routes that are no longer available. This message of additional routes that are no longer available. This
option SHOULD be administratively configurable or intelligently option (APPEND_EXTRA_UNREACHABLE) SHOULD be administratively
controlled. configurable or intelligently controlled.
If SeqNum information is not known or not included in the RERR, all If SeqNum information is not known or not included in the RERR, all
nodes handling the RERR will assume their routing information nodes handling the RERR will assume their routing information
associated with the UnreachableNode is no longer valid and flag those associated with the UnreachableNode is no longer valid and flag those
routes as broken. routes as broken.
Each DYMO routing protocol message SHOULD contain ThisNode.DID's Each DYMO routing protocol message SHOULD contain ThisNode.DID's
value in a message TLV (MsgTLV.DID). If ThisNode.DID value is zero value in a message TLV (MsgTLV.DID). If ThisNode.DID value is zero
(0) it MAY be omitted. (0) it MAY be omitted.
skipping to change at page 28, line 27 skipping to change at page 28, line 33
adjacent DYMO routers. If ThisNode chooses not to handle this adjacent DYMO routers. If ThisNode chooses not to handle this
message, the message is discarded and further processing stopped. message, the message is discarded and further processing stopped.
When a DYMO router handles a RERR, it examines each UnreachableNode's When a DYMO router handles a RERR, it examines each UnreachableNode's
information. The attending DYMO router removes the forwarding route, information. The attending DYMO router removes the forwarding route,
unsets the Route.Forwarding flag, sets the Route.Broken flag, and a unsets the Route.Forwarding flag, sets the Route.Broken flag, and a
timer for ROUTE_DELETE is set to ROUTE_DELETE_TIMEOUT for each timer for ROUTE_DELETE is set to ROUTE_DELETE_TIMEOUT for each
UnreachableNode.Address found using longest prefix matching that meet UnreachableNode.Address found using longest prefix matching that meet
all of the following conditions: all of the following conditions:
1. The UnreachableNode.Address is a multihop-capable unicast IP 1. The UnreachableNode.Address is a multihop-capable unicast
address. address.
2. The Route.NextHopAddress is the same as the RERR 2. The Route.NextHopAddress is the same as the RERR
IP.SourceAddress. IP.SourceAddress.
3. The Route.NextHopInterface is the same as the interface on which 3. The Route.NextHopInterface is the same as the interface on which
the RERR was received. the RERR was received.
4. The Route.SeqNum is zero (0), unknown, OR the 4. The Route.SeqNum is zero (0), unknown, OR the
UnreachableNode.SeqNum is zero (0), unknown, OR Route.SeqNum - UnreachableNode.SeqNum is zero (0), unknown, OR Route.SeqNum -
skipping to change at page 29, line 27 skipping to change at page 29, line 33
and at least one unreachable node address remains in the RERR, then and at least one unreachable node address remains in the RERR, then
the updated RERR SHOULD be sent. the updated RERR SHOULD be sent.
A multicast RERR is sent to the IP.DestinationAddress LL-MANET- A multicast RERR is sent to the IP.DestinationAddress LL-MANET-
ROUTERS [RFC5498]. If the RERR is unicast, the IP.DestinationAddress ROUTERS [RFC5498]. If the RERR is unicast, the IP.DestinationAddress
is set to the NextHopAddress. is set to the NextHopAddress.
5.6. DYMO Identifier (DID) 5.6. DYMO Identifier (DID)
Each DYMO routing protocol process MUST have an associated DYMO Each DYMO routing protocol process MUST have an associated DYMO
Identifier (DID). The default value is zero (0). The DID value Identifier (DID). The DID allows multiple DYMO routing protocol
should be administratively configured. processes to operate over the same links and on the same device
independently. This function may also be used to administratively
separate DYMO processes with incompatible options, timers, or
extensions.
Each DYMO routing protocol message sent SHOULD contain its associated The DID is similar in function to OSPF Instance ID [RFC5340]
DID in a message TLV. If the DID value is zero (0) it MAY be [I-D.ietf-ospf-multi-instance], OSPF Area ID [RFC2328] [RFC5340],
omitted. and/or the MANET_ID TLV [I-D.chakeres-manet-manetid].
All DYMO routers with the same DID that come in contact with each
other MUST operate with a compatible set of configuration options,
timing parameters (see Section 6), and protocol extensions. In cases
with non-default options, the DID value SHOULD be administratively
chosen.
The default DID value is zero (0), and using this value requires that
the implementation utilize options and timing parameters compatibly
with those defined in Section 6.
Each DYMO routing protocol message sent MUST contain its associated
DID in a message TLV; unless the DID value is zero (0), in which case
it MAY be omitted.
Upon receipt of DYMO protocol message a DYMO routing protocol process Upon receipt of DYMO protocol message a DYMO routing protocol process
SHOULD only process messages with a DID (MsgTLV.DID) value matching SHOULD only process messages with a DID (MsgTLV.DID) value matching
its own DID (ThisNode.DID). its own DID (ThisNode.DID).
The DID allows multiple DYMO routing protocol processes to operate
over the same links and on the same device independently.
The DID fulfills a function similar to OSPF Instance ID [RFC2740]
[I-D.ietf-ospf-multi-instance], OSPF Area ID [RFC2328] [RFC2740],
and/or the MANET_ID TLV [I-D.chakeres-manet-manetid].
5.7. Unknown Message & TLV Types 5.7. Unknown Message & TLV Types
If a message with an unknown type is received, the message is If a message with an unknown type is received, the message is
discarded. discarded.
For handling of messages that contain unknown TLV types, the For handling of messages that contain unknown TLV types, the default
operation (e.g. forward or remove) should be administratively behavior is to leave the information in control messages unmodified.
Although, this behavior (UNKNOWN_TYPES) MAY be be administratively
controlled. controlled.
5.8. Advertising Network Addresses 5.8. Advertising Network Addresses
DYMO routers specify the prefix length for each advertised address. DYMO routers specify the prefix length for each advertised address.
Any nodes (other than the advertising DYMO router) within the Any nodes (other than the advertising DYMO router) within the
advertised prefix MUST NOT participate in the DYMO protocol directly. advertised prefix MUST NOT participate in the DYMO protocol directly.
For example, 192.0.2.1 with a prefix length of 24 indicates all nodes For example, advertising 192.0.2.1 with a prefix length of 24
with the matching 192.0.2.X are reachable through the DYMO router indicates that all nodes with the matching 192.0.2.X are reachable
with address 192.0.2.1. through this DYMO router.
5.9. Simple Internet Attachment 5.9. Simple Internet Attachment
Simple Internet attachment consists of a stub network of MANET Simple Internet attachment consists of a stub network of DYMO routers
routers connected to the Internet via a single Internet DYMO router connected to the Internet via a single Internet DYMO router (IDR).
(IDR). The Internet may be connected via multiple DYMO routers, but The Internet may be connected via multiple DYMO routers, but such
such behavior is not specified in this document. behavior is not specified in this document.
The IDR is responsible for responding to RREQs for DYMO routers on The IDR is responsible for responding to RREQs for DYMO routers on
behalf of TargetNodes on the Internet, as well as delivering packets behalf of addresses on the Internet, as well as discovering routes to
to destinations on the Internet. addresses within the DYMO Region on behalf of nodes on the Internet.
/--------------------------\ /--------------------------\
/ Internet \ / Internet \
\ / \ /
\------------+-------------/ \------------+-------------/
| |
Routable & | Routable & |
Topologically | 192.0.2.0/24 Topologically | 192.0.2.0/24
Correct | Correct |
Prefix | Prefix |
+-----+-----+ +-----+------+
| Internet | | Internet |
/------| DYMO |--------\ /------| DYMO |-------\
/ | Router | \ / | Router | \
/ | 192.0.2.1 | \ / |192.0.2.1/32| \
| +-----------+ | | +------------+ |
| DYMO Region | | DYMO Region |
| | | |
| +--------------+ | | +--------------+ |
| | DYMO Router | | | | DYMO Router | |
| | 192.0.2.2 | | | | 192.0.2.2/32| |
| +--------------+ | | +--------------+ |
| +--------------+ | | +--------------+ |
| | DYMO Router | | | | DYMO Router | |
| | 192.0.2.3 | | | | 192.0.2.3/32| |
\ +--------------+ / \ +--------------+ /
\ / \ /
\---------------------------/ \---------------------------/
Figure 3: Simple Internet Attachment Example Figure 3: Simple Internet Attachment Example
DYMO routers wishing to be reachable from nodes in the Internet MUST DYMO routers, and hosts behind these routers, wishing to be reachable
have IP addresses within the IDR's routable and topologically correct from hosts on the Internet MUST have IP addresses within the IDR's
prefix. Given a node with a routeable address or care-of address routable and topologically correct prefix (e.g. 192.0.2.0/24). Given
handled by the IDR, the IDR is responsible for routing and forwarding a node in the DYMO Region with a routeable address handled by the
packets received from the Internet destined for nodes inside its IDR, the IDR is responsible for discovering routes and forwarding
MANET. packets received from the Internet destined for these nodes inside
the DYMO Region prefix(es). The IDR SHOULD advertize the largest
When DYMO router within the MANET want to send packets to a node on known prefix for any addresses on the Internet, when advertising
the Internet, they simply issue RREQ for those IP Destination routing information in RMs.
Addresses; using normal DYMO route discovery. The IDR is responsible
for properly responding to RREQ on behalf of the Internet
destinations, and maintaining their associated sequence number(s).
For an IDR and other DYMO routers that maintain the sequence number When a DYMO router within the DYMO Region wants to forward packets to
on behalf of other nodes, these routers MUST know the IP addresses a node on the Internet, they simply issue RREQ for those IP
for which they MUST generate DYMO messages and maintain OwnSeqNum. Destination Addresses; using normal DYMO route discovery. The IDR is
Likewise, they MUST be capable of advertising an address within the responsible for properly responding to RREQ on behalf of the Internet
same prefix as these IP addresses. Alternatively, they may behave as destinations.
a proxy on behalf of Internet destinations.
5.10. Multiple Interfaces 5.10. Multiple Interfaces
DYMO may be used with multiple interfaces; therefore, the particular DYMO may be used with multiple interfaces; therefore, the particular
interface over which packets arrive MUST be known whenever a packet interface over which packets arrive MUST be known whenever a packet
is received. Whenever a new route is created, the interface through is received. Whenever a new route is created, the interface through
which the Route.Address can be reached is also recorded in the route which the Route.Address can be reached is also recorded in the route
table entry. table entry.
When multiple interfaces are available, a node transmitting a When multiple interfaces are available, a node transmitting a
skipping to change at page 32, line 26 skipping to change at page 32, line 25
SHOULD send the packet on all interfaces that have been configured SHOULD send the packet on all interfaces that have been configured
for DYMO operation. for DYMO operation.
Similarly, DYMO routers should subscribe to LL-MANET-ROUTERS on all Similarly, DYMO routers should subscribe to LL-MANET-ROUTERS on all
their DYMO interfaces. their DYMO interfaces.
5.11. DYMO Control Packet/Message Generation Limits 5.11. DYMO Control Packet/Message Generation Limits
To ensure predictable control overhead, DYMO router's rate of packet/ To ensure predictable control overhead, DYMO router's rate of packet/
message generation SHOULD be limited. The rate and algorithm for message generation SHOULD be limited. The rate and algorithm for
limiting messages is left to the implementor and should be limiting messages (CONTROL_TRAFFIC_LIMITS) is left to the implementor
administratively configurable or intelligently controlled. DYMO and should be administratively configurable or intelligently
control messages SHOULD be discarded in the following order of controlled. DYMO control messages SHOULD be discarded in the
preferences RREQ, RREP, and finally RERR. following order of preferences RREQ, RREP, and finally RERR.
6. Configuration Parameters and Other Administrative Options 6. Administratively Configured Parameters and Timer Values
Suggested Parameter Values DYMO contains several parameters which MUST be administratively
configured. The list of these follows:
Required Administratively Configured Parameters
+------------------------+------------------------------------------+
| Name | Description |
+------------------------+------------------------------------------+
| DID | All DYMO routers with the same DID that |
| | come in contact with each other MUST |
| | operate with a compatible set of |
| | configuration options, timing |
| | parameters, and protocol extensions. If |
| | non-default potentially incompatible |
| | options, timing parameters or protocol |
| | extensions are utilized the DID MUST be |
| | set to a non-zero value. |
| RESPONSIBLE_ADDRESSES | List of addresses, and their associated |
| | prefix, for which this DYMO router is |
| | responsible. |
| DYMO_INTERFACES | List of the interfaces participating in |
| | DYMO routing protocol. |
+------------------------+------------------------------------------+
Table 2
DYMO contains a number of timers. The default timing parameter
values follow:
Default Timing Parameter Values
+------------------------------+-------------------+ +------------------------------+-------------------+
| Name | Value | | Name | Value |
+------------------------------+-------------------+ +------------------------------+-------------------+
| MSG_HOPLIMIT | 10 hops |
| ROUTE_TIMEOUT | 5 seconds | | ROUTE_TIMEOUT | 5 seconds |
| ROUTE_AGE_MIN_TIMEOUT | 1 second | | ROUTE_AGE_MIN_TIMEOUT | 1 second |
| ROUTE_SEQNUM_AGE_MAX_TIMEOUT | 60 seconds | | ROUTE_SEQNUM_AGE_MAX_TIMEOUT | 60 seconds |
| ROUTE_USED_TIMEOUT | ROUTE_TIMEOUT | | ROUTE_USED_TIMEOUT | ROUTE_TIMEOUT |
| ROUTE_DELETE_TIMEOUT | 2 * ROUTE_TIMEOUT | | ROUTE_DELETE_TIMEOUT | 2 * ROUTE_TIMEOUT |
| ROUTE_RREQ_WAIT_TIME | 2 seconds | | ROUTE_RREQ_WAIT_TIME | 2 seconds |
| RREQ_TRIES | 3 tries |
| UNICAST_MESSAGE_SENT_TIMEOUT | 1 second | | UNICAST_MESSAGE_SENT_TIMEOUT | 1 second |
+------------------------------+-------------------+ +------------------------------+-------------------+
Table 2 Table 3
These suggested values work well for small and medium well connected The above timing parameter values work well for small and medium
networks with moderate topology changes. These parameters SHOULD be well-connected networks with moderate topology changes.
administratively configurable for the network where DYMO is used.
Ideally, for networks with frequent topology changes the DYMO
parameters should be adjusted using either experimentally determined
values or dynamic adaptation. For example, in networks with
infrequent topology changes ROUTE_USED_TIMEOUT may be set to a much
larger value.
In addition to the parameters above several administrative options The timing parameters SHOULD be administratively configurable for the
exist. Many of these options can be administratively controlled, but network where DYMO is used. Ideally, for networks with frequent
they may be better served by intelligent control. The following topology changes the DYMO parameters should be adjusted using either
table enumerates several of the options. experimentally determined values or dynamic adaptation. For example,
in networks with infrequent topology changes ROUTE_USED_TIMEOUT may
be set to a much larger value.
Important Settings Default Parameter Values
+------------------------+------------------------------------------+ +------------------------+-------+----------------------------------+
| Name | Description | | Name | Value | Description |
+------------------------+------------------------------------------+ +------------------------+-------+----------------------------------+
| RESPONSIBLE_ADDRESSES | List of addresses, and their associated | | MSG_HOPLIMIT | 10 | This value should be larger than |
| | prefix, for which this DYMO router is | | | hops | the DYMO network diameter. If |
| | responsible. | | | | this value is not large enough, |
| DYMO_INTERFACES | List of the interfaces participating in | | | | routing messages may not reach |
| | DYMO routing protocol. | | | | their intended destinations. |
+------------------------+------------------------------------------+ | DISCOVERY_ATTEMPTS_MAX | 3 | The number of route discovery |
| | | attempts to make before |
| | | indicating that a particular |
| | | address is not reachable. |
+------------------------+-------+----------------------------------+
Table 3 Table 4
In addition to the above parameters and timing values, several
administrative options exist. These options have no influence on
correct routing behavior, although they may potentially reduce DYMO
routing control messaging in certain situations. The default
behavior is to NOT enable any of these options; and although many of
these options can be administratively controlled, they may be better
served by intelligent control. The following table enumerates
several of the options.
Administratively Controlled Options
+---------------------------+---------------------------------------+
| Name | Description |
+---------------------------+---------------------------------------+
| APPEND_INFORMATION | Whether to append ThisNode's routing |
| | information to a RM. |
| APPEND_INFORMATION_SEQNUM | Whether to increment ThisNode's |
| | OwnSeqNum when append ThisNode's |
| | routing information to a RM. |
| BUFFER_DURING_DISCOVERY | Whether and how much data to buffer |
| | during route discovery. |
| APPEND_EXTRA_UNREACHABLE | Whether to append additional |
| | Unreachable information to RERR. |
| UNKNOWN_TYPES | What action to take when an unknown |
| | TLV type is received. The default |
| | action is to forward this information |
| | unmodified. Another action would be |
| | to remove this information. |
| CONTROL_TRAFFIC_LIMITS | DYMO control messaging should be |
| | limited to avoid consuming all the |
| | network bandwidth. |
+---------------------------+---------------------------------------+
Table 5
Note: several fields have limited size (bits or bytes) these sizes Note: several fields have limited size (bits or bytes) these sizes
and their encoding may place specific limitations on the values that and their encoding may place specific limitations on the values that
can be set. For example, MsgHdr.HopLimit is a 8-bit field and can be set. For example, MsgHdr.HopLimit is a 8-bit field and
therefore MSG_HOPLIMIT cannot be larger than 255. therefore MSG_HOPLIMIT cannot be larger than 255.
7. IANA Considerations 7. IANA Considerations
In its default mode of operation, DYMO uses the UDP port MANET In its default mode of operation, DYMO uses the UDP port MANET
[RFC5498] to carry protocol packets. DYMO also uses the link-local [RFC5498] to carry protocol packets. DYMO also uses the link-local
multicast address LL-MANET-ROUTERS [RFC5498]. multicast address LL-MANET-ROUTERS [RFC5498].
This section specifies several messages types, message tlv-types, and This section specifies several messages types, message tlv-types, and
address tlv-types. address tlv-types.
7.1. DYMO Message Type Specification 7.1. DYMO Message Types Specification
DYMO Message Types DYMO Message Types
+------------------------+----------+ +------------------------+----------+
| Name | Type | | Name | Type |
+------------------------+----------+ +------------------------+----------+
| Route Request (RREQ) | 10 - TBD | | Route Request (RREQ) | 10 - TBD |
| Route Reply (RREP) | 11 - TBD | | Route Reply (RREP) | 11 - TBD |
| Route Error (RERR) | 12 - TBD | | Route Error (RERR) | 12 - TBD |
+------------------------+----------+ +------------------------+----------+
Table 4 Table 6
7.2. Packet and Message TLV Type Specification 7.2. Message and Address Block TLV Type Specification
Packet TLV Types Message TLV Types
+-------------------+------+--------+-------------------------------+ +-------------------+------+--------+-------------------------------+
| Name | Type | Length | Value | | Name | Type | Length | Value |
+-------------------+------+--------+-------------------------------+ +-------------------+------+--------+-------------------------------+
| Unicast Response | 10 - | 0 | Indicates to the processing | | Unicast Response | 10 - | 0 | Indicates to the processing |
| Request | TBD | octets | node that the previous hop | | Request | TBD | octets | node that the previous hop |
| | | | (IP.SourceAddress) expects a | | | | | (IP.SourceAddress) expects a |
| | | | unicast message within | | | | | unicast message within |
| | | | UNICAST_MESSAGE_SENT_TIMEOUT. | | | | | UNICAST_MESSAGE_SENT_TIMEOUT. |
| | | | Any unicast packet will serve | | | | | Any unicast packet will serve |
| | | | this purpose, and it MAY be | | | | | this purpose, and it MAY be |
| | | | an ICMP REPLY message. If a | | | | | an ICMP REPLY message. If a |
| | | | message is not sent, then the | | | | | message is not sent, then the |
| | | | previous hop can assume that | | | | | previous hop can assume that |
| | | | the link is unidirectional | | | | | the link is unidirectional |
| | | | and MAY blacklist the link to | | | | | and MAY blacklist the link to |
| | | | this node. | | | | | this node. |
+-------------------+------+--------+-------------------------------+ +-------------------+------+--------+-------------------------------+
Table 5 Table 7
7.3. Address Block TLV Specification 7.3. Address Block TLV Specification
Address Block TLV Types Address Block TLV Types
+---------------+-----------+-----------+---------------------------+ +---------------+-----------+-----------+---------------------------+
| Name | Type | Length | Value | | Name | Type | Length | Value |
+---------------+-----------+-----------+---------------------------+ +---------------+-----------+-----------+---------------------------+
| DYMO | 9 - TBD | DID | ThisNode.DID's value. | | DYMO | 9 - TBD | DID | ThisNode.DID's value. |
| Identifier | | length | More information can be | | Identifier | | length | More information can be |
skipping to change at page 35, line 32 skipping to change at page 36, line 32
| | | | information associated | | | | | information associated |
| | | | with this address. | | | | | with this address. |
| VALIDITY_TIME | TBD | | The maximum amount of | | VALIDITY_TIME | TBD | | The maximum amount of |
| - AKA MaxAge | [RFC5497] | | time that information can | | - AKA MaxAge | [RFC5497] | | time that information can |
| | | | be maintained before | | | | | be maintained before |
| | | | being deleted. The | | | | | being deleted. The |
| | | | VALIDITY_TIME TLV is | | | | | VALIDITY_TIME TLV is |
| | | | defined in [RFC5497]. | | | | | defined in [RFC5497]. |
+---------------+-----------+-----------+---------------------------+ +---------------+-----------+-----------+---------------------------+
Table 6 Table 8
8. Security Considerations 8. Security Considerations
This document does not mandate any specific security measures. This document does not mandate any specific security measures.
Instead, this section describes various security considerations and Instead, this section describes various security considerations and
potential avenues to secure DYMO routing. potential avenues to secure DYMO routing.
The most important security mechanisms for DYMO routing are The most important security mechanisms for DYMO routing are
integrity/authentication and confidentiality. integrity/authentication and confidentiality.
skipping to change at page 37, line 38 skipping to change at page 38, line 38
(work in progress), October 2009. (work in progress), October 2009.
[Perkins99] [Perkins99]
Perkins, C. and E. Belding-Royer, "Ad hoc On-Demand Perkins, C. and E. Belding-Royer, "Ad hoc On-Demand
Distance Vector (AODV) Routing", Proceedings of the 2nd Distance Vector (AODV) Routing", Proceedings of the 2nd
IEEE Workshop on Mobile Computing Systems and IEEE Workshop on Mobile Computing Systems and
Applications, New Orleans, LA, pp. 90-100, February 1999. Applications, New Orleans, LA, pp. 90-100, February 1999.
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998. [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
[RFC2740] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6",
RFC 2740, December 1999.
[RFC3561] Perkins, C., Belding-Royer, E., and S. Das, "Ad hoc On- [RFC3561] Perkins, C., Belding-Royer, E., and S. Das, "Ad hoc On-
Demand Distance Vector (AODV) Routing", RFC 3561, Demand Distance Vector (AODV) Routing", RFC 3561,
July 2003. July 2003.
[RFC4728] Johnson, D., Hu, Y., and D. Maltz, "The Dynamic Source [RFC4728] Johnson, D., Hu, Y., and D. Maltz, "The Dynamic Source
Routing Protocol (DSR) for Mobile Ad Hoc Networks for Routing Protocol (DSR) for Mobile Ad Hoc Networks for
IPv4", RFC 4728, February 2007. IPv4", RFC 4728, February 2007.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
September 2007. September 2007.
[RFC5148] Clausen, T., Dearlove, C., and B. Adamson, "Jitter [RFC5148] Clausen, T., Dearlove, C., and B. Adamson, "Jitter
Considerations in Mobile Ad Hoc Networks (MANETs)", Considerations in Mobile Ad Hoc Networks (MANETs)",
RFC 5148, February 2008. RFC 5148, February 2008.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, July 2008.
Appendix A. Shifting Responsibility for an Address Between DYMO Routers
Only one DYMO router within a routing region SHOULD be responsible
for a particular address at any time. If two DYMO routers
dynamically pass responsibility of an address correct DYMO routing
behavior must be observed. The DYMO router adding the new address
must wait for any exiting routing information about this address to
be purged from the network. Therefore, it must wait at least
ROUTER_SEQNUM_AGE_MAX after the previous DYMO router for this address
stopped participating and advertising routing information on its
behalf.
Authors' Addresses Authors' Addresses
Ian D Chakeres Ian D Chakeres
CenGen CenGen
9250 Bendix Road North 9250 Bendix Road North
Columbia, Maryland 21045 Columbia, Maryland 21045
USA USA
Email: ian.chakeres@gmail.com Email: ian.chakeres@gmail.com
URI: http://www.ianchak.com/ URI: http://www.ianchak.com/
 End of changes. 76 change blocks. 
201 lines changed or deleted 301 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/