draft-ietf-manet-dymo-12.txt   draft-ietf-manet-dymo-13.txt 
Mobile Ad hoc Networks Working I. Chakeres Mobile Ad hoc Networks Working I. Chakeres
Group Motorola Group Motorola
Internet-Draft C. Perkins Internet-Draft C. Perkins
Intended status: Standards Track Intended status: Standards Track
Expires: August 10, 2008 February 7, 2008 Expires: October 12, 2008 April 10, 2008
Dynamic MANET On-demand (DYMO) Routing Dynamic MANET On-demand (DYMO) Routing
draft-ietf-manet-dymo-12 draft-ietf-manet-dymo-13
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
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 10, 2008. This Internet-Draft will expire on October 12, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2008). Copyright (C) The IETF Trust (2008).
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 nodes in wireless, multihop networks. DYMO determines use by mobile nodes in wireless, multihop networks. DYMO determines
unicast routes between DYMO routers within the network in an on- unicast routes among DYMO routers within the network in an on-demand
demand fashion, offering improved convergence in dynamic topologies. fashion, offering improved convergence in dynamic topologies.
Table of Contents Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Applicability Statement . . . . . . . . . . . . . . . . . . . 4 2. Applicability Statement . . . . . . . . . . . . . . . . . . . 4
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Data Structures . . . . . . . . . . . . . . . . . . . . . . . 7 4. Data Structures . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Route Table Entry . . . . . . . . . . . . . . . . . . . . 7 4.1. Route Table Entry . . . . . . . . . . . . . . . . . . . . 7
4.2. DYMO Messages . . . . . . . . . . . . . . . . . . . . . . 8 4.2. DYMO Messages . . . . . . . . . . . . . . . . . . . . . . 8
4.2.1. Generalized Packet and Message Structure . . . . . . . 8 4.2.1. Generalized Packet and Message Structure . . . . . . . 8
skipping to change at page 2, line 37 skipping to change at page 2, line 37
5.3. Routing Messages . . . . . . . . . . . . . . . . . . . . . 19 5.3. Routing Messages . . . . . . . . . . . . . . . . . . . . . 19
5.3.1. RREQ Creation . . . . . . . . . . . . . . . . . . . . 19 5.3.1. RREQ Creation . . . . . . . . . . . . . . . . . . . . 19
5.3.2. RREP Creation . . . . . . . . . . . . . . . . . . . . 20 5.3.2. RREP Creation . . . . . . . . . . . . . . . . . . . . 20
5.3.3. Intermediate DYMO Router RREP Creation . . . . . . . . 20 5.3.3. Intermediate DYMO Router RREP Creation . . . . . . . . 20
5.3.4. RM Processing . . . . . . . . . . . . . . . . . . . . 21 5.3.4. RM Processing . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . 24 5.4. Route Discovery . . . . . . . . . . . . . . . . . . . . . 24
5.5. Route Maintenance . . . . . . . . . . . . . . . . . . . . 25 5.5. Route Maintenance . . . . . . . . . . . . . . . . . . . . 25
5.5.1. Active Link Monitoring . . . . . . . . . . . . . . . . 26 5.5.1. Active Link Monitoring . . . . . . . . . . . . . . . . 26
5.5.2. Updating Route Lifetimes During Packet Forwarding . . 26 5.5.2. Updating Route Lifetimes During Packet Forwarding . . 26
5.5.3. Route Error Generation . . . . . . . . . . . . . . . . 26 5.5.3. RERR Generation . . . . . . . . . . . . . . . . . . . 26
5.5.4. RERR Processing . . . . . . . . . . . . . . . . . . . 27 5.5.4. RERR Processing . . . . . . . . . . . . . . . . . . . 27
5.6. Unknown Message & TLV Types . . . . . . . . . . . . . . . 28 5.6. Unknown Message & TLV Types . . . . . . . . . . . . . . . 28
5.7. Advertising Network Addresses . . . . . . . . . . . . . . 28 5.7. Advertising Network Addresses . . . . . . . . . . . . . . 28
5.8. Simple Internet Attachment . . . . . . . . . . . . . . . . 29 5.8. Simple Internet Attachment . . . . . . . . . . . . . . . . 28
5.9. Multiple Interfaces . . . . . . . . . . . . . . . . . . . 30 5.9. Multiple Interfaces . . . . . . . . . . . . . . . . . . . 30
5.10. DYMO Control Packet/Message Generation Limits . . . . . . 30 5.10. DYMO Control Packet/Message Generation Limits . . . . . . 30
6. Configuration Parameters and Other Administrative Options . . 31 6. Configuration Parameters and Other Administrative Options . . 30
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32
7.1. DYMO Message Type Specification . . . . . . . . . . . . . 32 7.1. DYMO Message Type Specification . . . . . . . . . . . . . 32
7.2. Packet and Message TLV Type Specification . . . . . . . . 32 7.2. Packet and Message TLV Type Specification . . . . . . . . 32
7.3. Address Block TLV Specification . . . . . . . . . . . . . 33 7.3. Address Block TLV Specification . . . . . . . . . . . . . 33
8. Security Considerations . . . . . . . . . . . . . . . . . . . 33 8. Security Considerations . . . . . . . . . . . . . . . . . . . 33
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 34 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 34
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 34 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.1. Normative References . . . . . . . . . . . . . . . . . . . 34 10.1. Normative References . . . . . . . . . . . . . . . . . . . 34
10.2. Informative References . . . . . . . . . . . . . . . . . . 34 10.2. Informative References . . . . . . . . . . . . . . . . . . 34
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 35 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 35
Intellectual Property and Copyright Statements . . . . . . . . . . 36 Intellectual Property and Copyright Statements . . . . . . . . . . 36
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 between participating DYMO routers. The multihop unicast routing among participating DYMO routers. The basic
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
find a route to the target's DYMO router. During this hop-by-hop find a route to the target's DYMO router. During this hop-by-hop
dissemination process, each intermediate DYMO router records a route dissemination process, each intermediate DYMO router records a route
to the originator. When the target's DYMO router receives the RREQ, to the originator. When the target's DYMO router receives the RREQ,
it responds with a Route Reply (RREP) sent hop-by-hop toward the it responds with a Route Reply (RREP) sent hop-by-hop toward the
originator. Each intermediate DYMO router that receives the RREP originator. Each intermediate DYMO router that receives the RREP
creates a route to the target, and then the RREP is unicast hop-by- creates a route to the target, and then the RREP is unicast hop-by-
skipping to change at page 4, line 40 skipping to change at page 4, line 40
destination is not known or the route is broken, then the DYMO router destination is not known or the route is broken, then the DYMO router
of source of the packet is notified. A Route Error (RERR) is sent of source of the packet is notified. A Route Error (RERR) is sent
toward the packet source to indicate the current route to a toward the packet source to indicate the current route to a
particular destination is invalid or missing. When the source's DYMO particular destination is invalid or missing. When the source's DYMO
router receives the RERR, it deletes the route. If the source's DYMO router receives the RERR, it deletes the route. If the source's DYMO
router later receives a packet for forwarding to the same router later receives a packet for forwarding to the same
destination, it will need to perform route discovery again for that destination, it will need to perform route discovery again for that
destination. destination.
DYMO uses sequence numbers to ensure loop freedom [Perkins99]. DYMO uses sequence numbers to ensure loop freedom [Perkins99].
Sequence numbers enable DYMO routers to determine the order of DYMO Sequence numbers enable DYMO routers to determine the temporal order
route discovery messages, thereby avoiding use of stale routing of DYMO route discovery messages, thereby avoiding use of stale
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 with only a small portion of the
other DYMO routers, due to the reactive nature of route discovery and other DYMO routers, due to the reactive nature of route discovery and
route maintenance. route maintenance.
DYMO is applicable to memory constrained devices, since minimal DYMO is applicable to memory constrained devices, since minimal
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 other more proactive routing protocols that require in contrast to other more proactive routing protocols that require
routing information to all routers within the routing region be routing information to all routers within the routing region be
maintained. maintained.
DYMO supports routers which have multiple interfaces participating in DYMO supports routers with multiple interfaces participating in the
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 route discovery on behalf of certain sources and find routes to
certain destinations. When DYMO is the only protocol interacting certain destinations. When DYMO is the only protocol interacting
with the forwarding table, DYMO MAY be configured to perform route with the forwarding table, DYMO MAY be configured to perform route
discovery for all unknown unicast destinations. discovery for all unknown unicast destinations.
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. only accepting RM from bidirectional links as indicated means (e.g. only accepting RM from bidirectional links as indicated
by NHDP [I-D.ietf-manet-nhdp]) of ensuring bi-directionality should by NHDP [I-D.ietf-manet-nhdp]) of ensuring bi-directionality should
be used. Otherwise, persistent packet loss may occur. 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
at other layers only modification of the packet/message format should at other layers only modification of the packet/message format should
be required; DYMO's routing algorithm need not change. Note that, be required; DYMO's routing algorithm need not change.
using DYMO;s routing algorithm with formats other than those
specified in this document MAY NOT be interoperable.
3. Terminology 3. Terminology
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 Additionally, this document uses some terminology from
[I-D.ietf-manet-packetbb]. [I-D.ietf-manet-packetbb].
This document defines the following terminology: This document defines the following terminology:
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 Sequence Number (SeqNum) DYMO Sequence Number (SeqNum)
A DYMO Sequence Number is maintained by each DYMO router. This A DYMO Sequence Number is maintained by each DYMO router. This
sequence number is used by other DYMO routers to identify the sequence number is used by other DYMO routers to identify the
order of routing information generated and ensure loop-free temporal order of routing information generated and ensure loop-
routes. free routes.
Forwarding Route Forwarding Route
A route that is used to forward data packets. Forwarding routes A route that is used to forward data packets. Forwarding routes
are generally maintained in a forwarding information base (FIB) or are generally maintained in a forwarding information base (FIB) or
the kernel forwarding/routing table. the kernel forwarding/routing table.
Originating Node (OrigNode) Originating Node (OrigNode)
The originating node is the DYMO router that creates a DYMO The originating node is the source, its DYMO router creates a DYMO
control message in an effort to disseminate some routing control message on its behalf in an effort to disseminate some
information. The originating node is also referred to as a routing information. The originating node is also referred to as
particular message's originator. a particular message's originator.
Route Error (RERR) Route Error (RERR)
A RERR message is used indicate that a DYMO router does not have A RERR message is used indicate that a DYMO router does not have
forwarding route to one or more particular addresses. forwarding route to one or more particular addresses.
Route Reply (RREP) Route Reply (RREP)
A RREP message is used to disseminate routing information about A RREP message is used to disseminate routing information about
the RREP OrigNode, to the RREP TargetNode and the DYMO routers the RREP OrigNode, to the RREP TargetNode and the DYMO routers
between them. between them.
skipping to change at page 7, line 40 skipping to change at page 7, line 40
Route.NextHopAddress Route.NextHopAddress
The IP address of the next DYMO router on the path toward the The IP address of the next DYMO router on the path toward the
Route.Address. Route.Address.
Route.NextHopInterface Route.NextHopInterface
The interface used to send packets toward the Route.Address. The interface used to send packets toward the Route.Address.
Route.Broken Route.Broken
A flag indicating whether this Route is broken. This flag is set A flag indicating whether this Route is broken. This flag is set
if the next hop becomes unreachable or in response to processing a if the next-hop becomes unreachable or in response to processing a
RERR (see Section 5.5.4). RERR (see Section 5.5.4).
The following field is optional: The following field is optional:
Route.Dist Route.Dist
A metric indicating the distance traversed before reaching the A metric indicating the distance traversed before reaching the
Route.Address node. Route.Address node.
Not including optional information may cause performance degradation, Not including optional information may cause performance degradation,
but it will not cause the protocol to operate incorrectly. but it will not cause the protocol to operate incorrectly.
skipping to change at page 8, line 48 skipping to change at page 8, line 48
All DYMO messages specified in this document are sent using UDP to All DYMO messages specified in this document are sent using UDP to
the destination port MANET [I-D.ietf-manet-iana]. the destination port MANET [I-D.ietf-manet-iana].
Most DYMO messages are sent with the IP destination address set to Most DYMO messages are sent with the IP destination address set to
the link-local multicast address LL-MANET-ROUTERS the link-local multicast address LL-MANET-ROUTERS
[I-D.ietf-manet-iana] unless otherwise stated. Therefore, all DYMO [I-D.ietf-manet-iana] unless otherwise stated. Therefore, all DYMO
routers SHOULD subscribe to LL-MANET-ROUTERS [I-D.ietf-manet-iana] routers SHOULD subscribe to LL-MANET-ROUTERS [I-D.ietf-manet-iana]
for receiving control packets. for receiving control packets.
Unicast DYMO messages specified in this document are sent with the IP Unicast DYMO messages (e.g. RREP) specified in this document are
destination set to the Route.NextHopAddress of the route to the sent with the IP destination set to the Route.NextHopAddress of the
TargetNode. 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 packets than 255, it is discarded. This mechanism helps to ensures packets
have not passed through any intermediate routers, and it is known as have not passed through any intermediate routers, and it is known as
GTSM [RFC5082]. GTSM [RFC5082].
The length of an IP address (32 bits for IPv4 and 128 bits for IPv6) The length of an IP address (32 bits for IPv4 and 128 bits for IPv6)
inside a DYMO message depends on the IP packet header containing the inside a DYMO message depends on the IP packet header containing the
DYMO message/packet. For example, if the IP header uses IPv6 DYMO message/packet. For example, if the IP header uses IPv6
skipping to change at page 9, line 26 skipping to change at page 9, line 26
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 [I-D.ietf-manet-packetbb]. it need not include a packet-header [I-D.ietf-manet-packetbb].
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 the IP.SourceAddress and IP.DestinationAddress in this document, but the IP.SourceAddress and IP.DestinationAddress
of all contained messages MUST be the same. of all contained messages MUST be the same.
Implementations MAY choose to temporarily delay transmission of Implementations MAY choose to temporarily delay transmission of
messages for the purpose of aggregation (into a single packet) or to messages for the purpose of aggregation (into a single packet) or to
improve performance by introducing jitter [I-D.ietf-manet-jitter]. improve performance by using jitter [I-D.ietf-manet-jitter].
DYMO control packets SHOULD be given priority queue and channel DYMO control packets SHOULD be given priority queue and channel
access. access.
4.2.2. Routing Messages (RM) - RREQ & RREP 4.2.2. Routing Messages (RM) - RREQ & RREP
Routing Messages (RMs) are used to disseminate routing information. Routing Messages (RMs) are used to disseminate routing information.
There are two DYMO message types that are considered to be routing There are two DYMO message types that are considered to be routing
messages (RMs): RREQ and RREP. They contain very similar information messages (RMs): RREQ and RREP. They contain very similar information
and function, but have slightly different processing rules. The main and function, but have slightly different processing rules. The main
skipping to change at page 10, line 20 skipping to change at page 10, line 20
UDP.DestinationPort UDP.DestinationPort
By default, the UDP destination port is set to MANET By default, the UDP destination port is set to MANET
[I-D.ietf-manet-iana]. [I-D.ietf-manet-iana].
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.TargetNode.Address AddBlk.TargetNode.Address
The IP address of the message TargetNode. In a RREQ the The IP address of the message TargetNode. In a RREQ the
TargetNode is the destination for which a forwarding route does TargetNode is the destination address for which route discovery is
not exist and route discovery is being performed. In a RREP the being performed. In a RREP the TargetNode is the RREQ OrigNode
TargetNode is the RREQ OrigNode DYMO router. The TargetNode address. The TargetNode address is the first address in a routing
address is the first address in a routing message. message.
AddBlk.OrigNode.Address AddBlk.OrigNode.Address
The IP address of the originator and its associated prefix length. The IP address of the originator and its associated prefix length.
In a RREQ the OrigNode is the source's DYMO router for which a In a RREQ the OrigNode is the source's address and prefix. In a
route discovery is being performed. In a RREP the OrigNode is the RREP the OrigNode is the RREQ TargetNode's address and prefix for
RREQ TargetNode's DYMO router for which a RREP is being generated. which a RREP is being generated. This address is the second
This address is the second address in the message for RREQ. address in the message for RREQ.
OrigNode.AddTLV.SeqNum OrigNode.AddTLV.SeqNum
The DYMO sequence number of the originator's DYMO router. The DYMO sequence number of the originator's DYMO router.
A RM may optionally include the following information: A RM may optionally include the following information:
TargetNode.AddTLV.SeqNum TargetNode.AddTLV.SeqNum
The last known DYMO sequence number of the TargetNode. The last known DYMO sequence number of the TargetNode.
TargetNode.AddTLV.Dist TargetNode.AddTLV.Dist
The last known distance to the TargetNode. The last known distance to the TargetNode.
AddBlk.AdditionalNode.Address AddBlk.AdditionalNode.Address
The IP address of an additional node that can be reached via the The IP address of an additional node that can be reached via the
DYMO router adding this information. Each AdditionalNode.Address DYMO router adding this information. Each AdditionalNode.Address
MUST include its prefix length. Each AdditionalNode.Address MUST MUST include its prefix. Each AdditionalNode.Address MUST also
also have an associated Node.SeqNum in the address TLV block. have an associated Node.SeqNum in the address TLV block.
AdditionalNode.AddTLV.SeqNum AdditionalNode.AddTLV.SeqNum
The DYMO sequence number associated with this routing information. The DYMO sequence number associated with this routing information.
OrigNode.AddTLV.Dist OrigNode.AddTLV.Dist
A metric of the distance to reach the associated OrigNode.Address. A metric of the distance to reach the associated OrigNode.Address.
This field is incremented by at least one at each intermediate This field is incremented by at least one at each intermediate
DYMO router. DYMO router.
AdditionalNode.AddTLV.Dist AdditionalNode.AddTLV.Dist
skipping to change at page 16, line 21 skipping to change at page 16, line 21
determine its usefulness. Incoming routing information is classified determine its usefulness. Incoming routing information is classified
as follows: as follows:
1. Stale 1. Stale
If Node.SeqNum - Route.SeqNum < 0 (using signed 16-bit arithmetic) If Node.SeqNum - Route.SeqNum < 0 (using signed 16-bit arithmetic)
the incoming information is stale. Using stale routing the incoming information is stale. Using stale routing
information is not allowed, since doing so might result in routing information is not allowed, since doing so might result in routing
loops. loops.
(Node.SeqNum - Route.SeqNum < 0) (Node.SeqNum - Route.SeqNum < 0)
using 16-bit arithmetic using signed 16-bit arithmetic
2. Loop-possible 2. Loop-possible
If Node.SeqNum == Route.SeqNum the incoming information may cause If Node.SeqNum == Route.SeqNum the incoming information may cause
loops if used; in this case additional information MUST be loops if used; in this case additional information MUST be
examined. If Route.Dist or Node.Dist is unknown or zero (0), then examined. If Route.Dist or Node.Dist is unknown or zero (0), then
the routing information is loop-possible. If Node.Dist > the routing information is loop-possible. If Node.Dist >
Route.Dist + 1, then the routing information is loop-possible. Route.Dist + 1, then the routing information is loop-possible.
Using loop-possible routing information is not allowed, otherwise Using loop-possible routing information is not allowed, otherwise
routing loops may be formed. routing loops may be formed.
skipping to change at page 17, line 8 skipping to change at page 17, line 8
forwarding of RREQ with equivalent distance. forwarding of RREQ with equivalent distance.
((Node.SeqNum == Route.SeqNum) AND ((Node.SeqNum == Route.SeqNum) AND
(((Node.Dist == Route.Dist + 1) AND (Route.Broken == false)) OR (((Node.Dist == Route.Dist + 1) AND (Route.Broken == false)) OR
((Node.Dist == Route.Dist) AND ((Node.Dist == Route.Dist) AND
(RM is RREQ) AND (Route.Broken == false)))) (RM is RREQ) AND (Route.Broken == false))))
4. Superior 4. Superior
Incoming routing information that does not match any of the above Incoming routing information that does not match any of the above
criteria is loop-free and better than the information existing in criteria is loop-free and better than the information existing in
the routing table. Information is always superior if Node.SeqNum the routing table. Information is always superior if Node.SeqNum
- Route.SeqNum > 0 (using 16-bit signed arithmetic). In the case - Route.SeqNum > 0 (using signed 16-bit arithmetic). In the case
of equal sequence numbers, the information is superior in multiple of equal sequence numbers, the information is superior in multiple
cases: (case i) if Node.Dist < Route.Dist; (case ii) if Node.Dist cases: (case i) if Node.Dist < Route.Dist; (case ii) if Node.Dist
== Route.Dist + 1 AND Route.Broken == true (a broken route is == Route.Dist + 1 AND Route.Broken == true (a broken route is
being repaired); (case iii) if Node.Dist == Route.Dist AND it is a being repaired); (case iii) if Node.Dist == Route.Dist AND it is a
RREP (RREP with equal distance are forwarded) OR Route.Broken == RREP (RREP with equal distance are forwarded) OR Route.Broken ==
true (a broken route is being repaired). For completeness, we true (a broken route is being repaired). For completeness, we
provide the following (optimized) pseudo-code. provide the following (optimized) pseudo-code.
(Node.SeqNum - Route.SeqNum > 0) OR (Node.SeqNum - Route.SeqNum > 0) OR
using 16-bit arithmetic using signed 16-bit arithmetic
((Node.SeqNum == Route.SeqNum) AND ((Node.SeqNum == Route.SeqNum) AND
((Node.Dist < Route.Dist) OR ((Node.Dist < Route.Dist) OR
((Node.Dist == Route.Dist + 1) AND (Route.Broken == true)) OR ((Node.Dist == Route.Dist + 1) AND (Route.Broken == true)) OR
((Node.Dist == Route.Dist) AND ((Node.Dist == Route.Dist) AND
((RM is RREP) OR (Route.Broken == true))))) ((RM is RREP) OR (Route.Broken == true)))))
5.2.2. Creating or Updating a Route Table Entry with Received Superior 5.2.2. Creating or Updating a Route Table Entry with Received Superior
Routing Information Routing Information
The route table entry is populated with the following information: The route table entry is populated with the following information:
skipping to change at page 19, line 9 skipping to change at page 19, line 9
useful decreases, especially if the network nodes are mobile. useful decreases, especially if the network nodes are mobile.
Therefore, old information should be deleted. Therefore, old information should be deleted.
After the ROUTE_DELETE timeout, the routing table entry should be After the ROUTE_DELETE timeout, the routing table entry should be
deleted. If a forwarding route exists, it should also be removed. deleted. If a forwarding route exists, it should also be removed.
5.3. Routing Messages 5.3. Routing Messages
5.3.1. RREQ Creation 5.3.1. RREQ Creation
When 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 already.
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.
skipping to change at page 19, line 32 skipping to change at page 19, line 32
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
processing nodes. This operation ensures that no intermediate DYMO processing 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 DYMO router that is The OrigNode.Address is the address of the source for which this DYMO
initiating this route discovery. The OrigNode.Address MUST be a router is initiating this route discovery. The OrigNode.Address MUST
unicast IP address. If this DYMO router is performing route be a unicast IP address. This information will be used by nodes to
discovery on behalf of an attached node (i.e. the source of the data create a route toward the OrigNode, enabling delivery of a RREP, and
packet causing this route discovery), the DYMO router MUST advertise eventually used for proper forwarding of data packets.
an address and prefix that contain the source's address. This
information will be used by nodes to create a route toward the
OrigNode, enabling delivery of a RREP, and 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 MAX_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 RREQ is set to LL-MANET-ROUTERS. The IP.DestinationAddress for RREQ is set to LL-MANET-ROUTERS.
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.
Next, AddBlk.OrigNode.Address and prefix is added to the RREP. The Next, AddBlk.OrigNode.Address and prefix are added to the RREP. The
AddBlk.OrigNode.Address MUST be a unicast IP address. If the RREQ AddBlk.OrigNode.Address is the RREQ TargetNode.Address. The
TargetNode is this DYMO router, its address is added to the RREP as AddBlk.OrigNode.Address MUST be a unicast IP address. ThisNode
the OrigNode.Address. If the RREQ TargetNode is attached to this SHOULD advertise the largest known prefix containing
DYMO router, ThisNode MUST advertise an address and prefix that AddBlk.OrigNode.Address.
contain the RREQ TargetNode.Address.
When the TargetNode's DYMO router creates a RREP, if the When the TargetNode's DYMO router creates a RREP, if the
TargetNode.SeqNum was not included in the RREQ, ThisNode MUST TargetNode.SeqNum was not included in the RREQ, ThisNode MUST
increment its OwnSeqNum by one (1) according to the rules specified increment its OwnSeqNum by one (1) according to the rules specified
in Section 5.1.2. in Section 5.1.2.
If TargetNode.SeqNum is included in the RM and TargetNode.SeqNum - If TargetNode.SeqNum is included in the RM and TargetNode.SeqNum -
OwnSeqNum < 0 (using signed 16-bit arithmetic), OwnSeqNum SHOULD be OwnSeqNum < 0 (using signed 16-bit arithmetic), OwnSeqNum SHOULD be
incremented by one (1) according to the rules specified in incremented by one (1) according to the rules specified in
Section 5.1.2. Section 5.1.2.
skipping to change at page 20, line 44 skipping to change at page 20, line 43
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 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). to a number greater than zero (0).
The MsgHdr.HopLimit is set to MAX_HOPLIMIT. The MsgHdr.HopLimit is set to MSG_HOPLIMIT.
The IP.DestinationAddress for RREP is set to the IP address of the The IP.DestinationAddress for RREP is set to the IP address of the
Route.NextHopAddress for the route to the RREP TargetNode. Route.NextHopAddress for the route to the RREP TargetNode.
5.3.3. Intermediate DYMO Router RREP Creation 5.3.3. Intermediate DYMO Router RREP Creation
Sometimes a DYMO router other than the TargetNode's DYMO router (call Sometimes a DYMO router other than the TargetNode's DYMO router (call
it an "intermediate DYMO router") has routing information that can it an "intermediate DYMO router") has routing information that can
satisfy an incoming RREQ. An intermediate DYMO router can issue a satisfy an incoming RREQ. An intermediate DYMO router can issue a
intermediate DYMO router RREP on behalf of the TargetNode's DYMO intermediate DYMO router RREP on behalf of the TargetNode's DYMO
skipping to change at page 21, line 43 skipping to change at page 21, line 42
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.
Before processing a RREQ, the DYMO router checks the IP.Destination Before processing a RREQ, the DYMO router checks the IP.Destination
to ensure that it was sent to LL-MANET-ROUTERS [I-D.ietf-manet-iana]. to ensure that it was sent to LL-MANET-ROUTERS [I-D.ietf-manet-iana].
If the RREQ was not sent to LL-MANET-ROUTERS, it SHOULD be discarded If the RREQ was not sent to LL-MANET-ROUTERS, it SHOULD be discarded
and further processing stopped. and further processing stopped.
Next, ThisNode checks if the AddBlk.OrigNode.Address is a valid Next, ThisNode checks if the AddBlk.OrigNode.Address is a valid
unicast IP address. If the address is not a valid unicast IP unicast IP address. If the address is not a valid unicast IP
address, the messages MUST be discarded and further processing address, the messages is discarded and further processing stopped.
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 does not exist, then the new routing information is a route does not exist, then the new routing information is
considered fresh and a new route table entry is created and updated considered fresh and a new route table entry is created and updated
as described in Section 5.2.2. If a route table entry does exists, as described in Section 5.2.2. If a route table entry does exists,
the incoming routing information is compared with the route table the incoming routing information is compared with the route table
entry following the procedure described in Section 5.2.1. If the entry following the procedure described in Section 5.2.1. If the
incoming routing information is considered superior, the route table incoming routing information is considered superior, the route table
entry is updated as described in Section 5.2.2. entry is updated as described in Section 5.2.2.
skipping to change at page 22, line 38 skipping to change at page 22, line 36
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. Note: it is important that new RREP is described in Section 5.3.2. At this point, ThisNode need
when creating the RREP, the RREP OrigNode.Address for ThisNode be not perform any more operations for this RM.
within the same prefix as the RREQ TargetNode.Address. At this
point, ThisNode need not perform any more operations for this RM.
Alternatively ThisNode MAY choose to distribute routing information Alternatively ThisNode MAY choose to distribute routing information
about ThisNode (the RREQ TargetNode) more widely, ThisNode MAY about ThisNode (the RREQ TargetNode) more widely, ThisNode MAY
optionally perform a route discovery; by issuing a RREQ with ThisNode optionally perform a route discovery; by issuing a RREQ with ThisNode
listed as the TargetNode, using the procedure in Section 5.3.1. listed as the TargetNode, using the procedure in Section 5.3.1. At
Note: it is important that when creating the RREQ, the RREQ this point, ThisNode need not perform any more operations for the
OrigNode.Address for ThisNode be within the same prefix as the RREQ original RM.
TargetNode.Address. At this point, ThisNode need not perform any
more operations for the original RM.
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 this node MAY respond with an intermediate DYMO router RREP.
The procedure for performing intermediate DYMO router RREP is The procedure for performing intermediate DYMO router RREP is
described in Section 5.3.3. If an intermediate DYMO router RREP is described in Section 5.3.3. If an intermediate DYMO router RREP is
sent, ThisNode need not perform any more operations for the original sent, ThisNode need not perform any more operations for the original
RM. RM.
skipping to change at page 25, line 41 skipping to change at page 25, line 34
If a route discovery has been attempted RREQ_TRIES times without If a route discovery has been attempted RREQ_TRIES times without
receiving a route to the TargetNode, all data packets destined for receiving a route to the TargetNode, all data packets destined for
the corresponding TargetNode are dropped from the buffer and a the corresponding TargetNode are dropped from the buffer and a
Destination Unreachable ICMP message should be delivered to the Destination Unreachable ICMP message should be delivered to the
source. 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 of an forwarding
route to quickly notify DYMO routers that a link break occurred and route to quickly notify DYMO routers that a link break occurred and
that certain routes are no longer available. If the route with the that certain routes are no longer available. If the route with the
broken link has not been used recently (indicated by ROUTE_USED), the broken link has not been used recently (indicated by ROUTE_USED), the
RERR SHOULD NOT be generated. RERR SHOULD NOT be generated.
5.5.1. Active Link Monitoring 5.5.1. Active Link Monitoring
Nodes MUST monitor next hop links on forwarding routes. This Nodes MUST monitor next-hop links on forwarding routes. This
monitoring can be accomplished by one or several mechanisms, monitoring can be accomplished by one or several mechanisms,
including: including:
o Link layer feedback o Link layer feedback
o Neighborhood discovery [I-D.ietf-manet-nhdp] o Neighborhood discovery [I-D.ietf-manet-nhdp]
o Route timeout o Route timeout
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 link is broken or the next-hop is
unreachable), ThisNode MUST remove the affected forwarding routes unreachable, ThisNode MUST remove the affected forwarding routes
(those with an unreachable next hop). ThisNode also flags these (those with an unreachable next-hop). ThisNode also flags the
routes as Broken. For each broken route a timer for ROUTE_DELETE is associated routes in DYMO's routing table as Broken. For each broken
set to ROUTE_DELETE_TIMEOUT. route a timer for ROUTE_DELETE is 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
ROUTE_USED_TIMEOUT for the route to the IP.DestinationAddress upon ROUTE_USED_TIMEOUT for the route to the IP.DestinationAddress upon
sending a data packet. If a timer for ROUTE_DELETE is set, it is sending a data packet. If a timer for ROUTE_DELETE is set, it is
removed. removed.
5.5.3. Route Error Generation 5.5.3. RERR Generation
A RERR informs DYMO routers that a route to certain destinations is A RERR informs DYMO routers that a route to certain destinations is
not available through ThisNode. not available through ThisNode.
When creating a new RERR, the address of first UnreachableNode When creating a new RERR, the address of first UnreachableNode
(IP.DestinationAddress from a data packet or RREP.TargetNode.Address) (IP.DestinationAddress from a data packet or RREP.TargetNode.Address)
is inserted into an Address Block AddBlk.UnreachableNode.Address. If is inserted into an Address Block AddBlk.UnreachableNode.Address. If
a prefix is known for the UnreachableNode.Address, it SHOULD be a prefix is known for the UnreachableNode.Address, it SHOULD be
included. Otherwise, the UnreachableNode.Address assumed to be a included. Otherwise, the UnreachableNode.Address assumed to be a
host address with a full length prefix. If a value for the host address with a full length prefix. If a value for the
UnreachableNode's SeqNum (UnreachableNode.AddTLV.SeqNum) is known, it UnreachableNode's SeqNum (UnreachableNode.AddTLV.SeqNum) is known, it
SHOULD be placed in the RERR. The MsgHdr.HopLimit is set to SHOULD be placed in the RERR. The MsgHdr.HopLimit is set to
MAX_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 processing node of UnreachableNode information notifies each processing node of
additional routes that are no longer available. This option SHOULD additional routes that are no longer available. This option SHOULD
be administratively configurable or intelligently controlled. be administratively configurable or intelligently controlled.
skipping to change at page 31, line 6 skipping to change at page 31, line 4
5.10. DYMO Control Packet/Message Generation Limits 5.10. 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 is left to the implementor and should be
administratively configurable or intelligently controlled. DYMO administratively configurable or intelligently controlled. DYMO
control messages SHOULD be discarded in the following order of control messages SHOULD be discarded in the following order of
preferences RREQ, RREP, and finally RERR. preferences RREQ, RREP, and finally RERR.
6. Configuration Parameters and Other Administrative Options 6. Configuration Parameters and Other Administrative Options
Suggested Parameter Values Suggested Parameter Values
+------------------------------+-------------------+ +------------------------------+-------------------+
| Name | Value | | Name | Value |
+------------------------------+-------------------+ +------------------------------+-------------------+
| MAX_HOPLIMIT | 10 hops | | 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_AGE_MAX_TIMEOUT | 60 seconds | | ROUTE_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 | | RREQ_TRIES | 3 tries |
| UNICAST_MESSAGE_SENT_TIMEOUT | 1 second | | UNICAST_MESSAGE_SENT_TIMEOUT | 1 second |
+------------------------------+-------------------+ +------------------------------+-------------------+
Table 2 Table 2
These suggested values work well for small and medium well connected These suggested values work well for small and medium well connected
networks with infrequent topology changes. These parameters SHOULD networks with moderate topology changes. These parameters SHOULD be
be administratively configurable for the network where DYMO is used. administratively configurable for the network where DYMO is used.
Ideally, for networks with frequent topology changes the DYMO Ideally, for networks with frequent topology changes the DYMO
parameters should be adjusted using either experimentally determined parameters should be adjusted using either experimentally determined
values or dynamic adaptation. For example, in networks with values or dynamic adaptation. For example, in networks with
infrequent topology changes ROUTE_USED_TIMEOUT may be set to a much infrequent topology changes ROUTE_USED_TIMEOUT may be set to a much
larger value. larger value.
In addition to the parameters above several administrative options In addition to the parameters above several administrative options
exist. Many of these options can be administratively controlled, but exist. Many of these options can be administratively controlled, but
they may be better served by intelligent control. The following they may be better served by intelligent control. The following
table enumerates several of the options. table enumerates several of the options.
Important Settings Important Settings
+-----------------------------------------+ +------------------------+------------------------------------------+
| Name | | Name | Description |
+-----------------------------------------+ +------------------------+------------------------------------------+
| RESPONSIBLE_ADDRESSES | | RESPONSIBLE_ADDRESSES | List of addresses, and their associated |
| DYMO_INTERFACES | | | prefix, for which this DYMO router is |
| UNKNOWN_TLV_TYPE_HANDLING | | | responsible. |
| ROUTE_DISCOVERY_DATA_PACKET_BUFFER_SIZE | | DYMO_INTERFACES | List of the interfaces participating in |
+-----------------------------------------+ | | DYMO routing protocol. |
+------------------------+------------------------------------------+
Table 3 Table 3
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
[I-D.ietf-manet-iana] to carry protocol packets. DYMO also uses the [I-D.ietf-manet-iana] to carry protocol packets. DYMO also uses the
link-local multicast address LL-MANET-ROUTERS [I-D.ietf-manet-iana]. link-local multicast address LL-MANET-ROUTERS [I-D.ietf-manet-iana].
This section specifies several messages types, message tlv-types, and This section specifies several messages types, message tlv-types, and
skipping to change at page 34, line 30 skipping to change at page 34, line 30
10.1. Normative References 10.1. Normative References
[I-D.ietf-manet-iana] [I-D.ietf-manet-iana]
Chakeres, I., "IANA Allocations for MANET Protocols", Chakeres, I., "IANA Allocations for MANET Protocols",
draft-ietf-manet-iana-07 (work in progress), draft-ietf-manet-iana-07 (work in progress),
November 2007. November 2007.
[I-D.ietf-manet-packetbb] [I-D.ietf-manet-packetbb]
Clausen, T., Dearlove, C., Dean, J., and C. Adjih, Clausen, T., Dearlove, C., Dean, J., and C. Adjih,
"Generalized MANET Packet/Message Format", "Generalized MANET Packet/Message Format",
draft-ietf-manet-packetbb-11 (work in progress), draft-ietf-manet-packetbb-12 (work in progress),
November 2007. March 2008.
[I-D.ietf-manet-timetlv] [I-D.ietf-manet-timetlv]
Clausen, T. and C. Dearlove, "Representing multi-value Clausen, T. and C. Dearlove, "Representing multi-value
time in MANETs", draft-ietf-manet-timetlv-04 (work in time in MANETs", draft-ietf-manet-timetlv-04 (work in
progress), November 2007. progress), November 2007.
[RFC1812] Baker, F., "Requirements for IP Version 4 Routers", [RFC1812] Baker, F., "Requirements for IP Version 4 Routers",
RFC 1812, June 1995. RFC 1812, June 1995.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
skipping to change at page 35, line 11 skipping to change at page 35, line 11
[I-D.ietf-manet-jitter] [I-D.ietf-manet-jitter]
Clausen, T., Dearlove, C., and B. Adamson, "Jitter Clausen, T., Dearlove, C., and B. Adamson, "Jitter
considerations in Mobile Ad Hoc Networks (MANETs)", considerations in Mobile Ad Hoc Networks (MANETs)",
draft-ietf-manet-jitter-04 (work in progress), draft-ietf-manet-jitter-04 (work in progress),
December 2007. December 2007.
[I-D.ietf-manet-nhdp] [I-D.ietf-manet-nhdp]
Clausen, T., Dearlove, C., and J. Dean, "MANET Clausen, T., Dearlove, C., and J. Dean, "MANET
Neighborhood Discovery Protocol (NHDP)", Neighborhood Discovery Protocol (NHDP)",
draft-ietf-manet-nhdp-05 (work in progress), draft-ietf-manet-nhdp-06 (work in progress), March 2008.
December 2007.
[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, Applications, New Orleans, LA, pp. 90-100,
February 1999. February 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,
 End of changes. 41 change blocks. 
96 lines changed or deleted 83 lines changed or added

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