draft-ietf-manet-dymo-20.txt   draft-ietf-manet-dymo-21.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: January 11, 2011 July 10, 2010 Expires: January 27, 2011 July 26, 2010
Dynamic MANET On-demand (DYMO) Routing Dynamic MANET On-demand (DYMO) Routing
draft-ietf-manet-dymo-20 draft-ietf-manet-dymo-21
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 January 11, 2011. This Internet-Draft will expire on January 27, 2011.
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 23 skipping to change at page 2, line 23
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 . . . . . . . 9 4.2.1. Generalized Packet and Message Structure . . . . . . . 9
4.2.2. Routing Messages (RM) - RREQ & RREP . . . . . . . . . 10 4.2.2. Routing Messages (RM) - RREQ & RREP . . . . . . . . . 10
4.2.3. Route Error (RERR) . . . . . . . . . . . . . . . . . . 13 4.2.3. Route Error (RERR) . . . . . . . . . . . . . . . . . . 13
5. Detailed Operation . . . . . . . . . . . . . . . . . . . . . . 14 5. Detailed Operation . . . . . . . . . . . . . . . . . . . . . . 15
5.1. DYMO Sequence Numbers . . . . . . . . . . . . . . . . . . 14 5.1. DYMO Sequence Numbers . . . . . . . . . . . . . . . . . . 15
5.1.1. Maintaining A Node's Own Sequence Number . . . . . . . 15 5.1.1. Maintaining A Node's Own Sequence Number . . . . . . . 15
5.1.2. Numerical Operations on OwnSeqNum . . . . . . . . . . 15 5.1.2. Numerical Operations on OwnSeqNum . . . . . . . . . . 15
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 . . . . . . . . . . . . . . 16
5.2.1. Judging Routing Information's Usefulness . . . . . . . 15 5.2.1. Judging Routing Information's Usefulness . . . . . . . 16
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 . . . . . . . . . . . . . . . . . . . . . 19
5.3.1. RREQ Creation . . . . . . . . . . . . . . . . . . . . 18 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 . . . . . . . . 21 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 . . . . 25
5.4. Route Discovery . . . . . . . . . . . . . . . . . . . . . 25 5.4. Route Discovery . . . . . . . . . . . . . . . . . . . . . 25
5.5. Route Maintenance . . . . . . . . . . . . . . . . . . . . 26 5.5. Route Maintenance . . . . . . . . . . . . . . . . . . . . 26
5.5.1. Active Next-hop Router Adjacency Monitoring . . . . . 27 5.5.1. Active Next-hop Router Adjacency Monitoring . . . . . 27
5.5.2. Updating Route Lifetimes During Packet Forwarding . . 27 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) . . . . . . . . . . . . . . . . . . 30 5.6. DYMO Identifier (DID) . . . . . . . . . . . . . . . . . . 30
5.7. Unknown Message & TLV Types . . . . . . . . . . . . . . . 30 5.7. Unknown Message & TLV Types . . . . . . . . . . . . . . . 30
5.8. Advertising Network Addresses . . . . . . . . . . . . . . 31 5.8. Advertising Network Addresses . . . . . . . . . . . . . . 31
5.9. Simple Internet Attachment . . . . . . . . . . . . . . . . 31 5.9. Simple Internet Attachment . . . . . . . . . . . . . . . . 31
skipping to change at page 5, line 10 skipping to change at page 5, line 10
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 only a small portion of the other where routers forward packets to only a small portion of the other
DYMO routers, due to the reactive nature of route discovery and route DYMO routers, due to the reactive nature of route discovery and 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 proactive routing protocols that require routing
require routing information to all routers within the routing region 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
and respond to route discovery on behalf of certain nodes, identified and respond to route discovery on behalf of certain nodes, identified
by address. When DYMO is the only protocol interacting with the by address. When DYMO is the only protocol interacting with the
forwarding table, DYMO MAY be configured to perform route discovery forwarding table, DYMO MAY be configured to perform route discovery
skipping to change at page 8, line 37 skipping to change at page 8, line 37
monitoring. monitoring.
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
to true if the next-hop becomes unreachable or in response to to true if the next-hop becomes unreachable or in response to
attending to a RERR (see Section 5.5.4). attending to a 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 dimensionless metric indicating the distance traversed before
Route.Address node. reaching the 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.
In addition to a route table data structure, each route table entry In addition to a route table data structure, each route table entry
may have several timers associated with the information. These may have several timers associated with the information. These
timers/timeouts are discussed in Section 5.2.3. timers/timeouts are discussed in Section 5.2.3.
4.2. DYMO Messages 4.2. DYMO Messages
skipping to change at page 12, line 24 skipping to change at page 12, line 21
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP.DestinationAddress = LL-MANET-Routers | | IP.DestinationAddress = LL-MANET-Routers |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP TTL/HopLimit = 255 | | IP TTL/HopLimit = 255 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
UDP Header UDP Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Port = manet | | Destination Port = manet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Packet Header
+-+-+-+-+-+-+-+-+
| ver= 0|0|0|0|0|
+-+-+-+-+-+-+-+-+
Message Header Message Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RREQ-type |0|1|0|0| MAL=3 | msg-size=23 | | RREQ-type |0|1|0|0| MAL=3 | msg-size=23 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-hoplimit | | msg-hoplimit |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Message TLV Block Message TLV Block
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-tlv-block-size=0 | | msg-tlv-block-size=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 14, line 23 skipping to change at page 14, line 23
| IP.SourceAddress | | IP.SourceAddress |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP.DestinationAddress = LL-MANET-Routers | | IP.DestinationAddress = LL-MANET-Routers |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP.TTL/HopLimit = 255 | | IP.TTL/HopLimit = 255 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
UDP Header UDP Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Port = manet | | Destination Port = manet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Packet Header
+-+-+-+-+-+-+-+-+
| ver= 0|0|0|0|0|
+-+-+-+-+-+-+-+-+
Message Header Message Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RERR-type |0|1|0|0| MAL=3 | msg-size=15 | | RERR-type |0|1|0|0| MAL=3 | msg-size=15 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-hoplimit | | msg-hoplimit |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Message TLV Block Message TLV Block
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| msg-tlv-block-size=0 | | msg-tlv-block-size=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 23, line 39 skipping to change at page 23, line 46
As an alternative to issuing a RREP, ThisNode MAY choose to As an alternative to issuing a RREP, ThisNode MAY choose to
distribute routing information about ThisNode (the RREQ TargetNode) distribute routing information about ThisNode (the RREQ TargetNode)
more widely. That is, ThisNode MAY optionally perform a route more widely. That is, ThisNode MAY optionally perform a route
discovery; by issuing a RREQ with ThisNode listed as the TargetNode, discovery; by issuing a RREQ with ThisNode listed as the TargetNode,
using the procedure in Section 5.3.1. At this point, ThisNode need using the procedure in Section 5.3.1. At this point, ThisNode need
not perform any more operations for the RM being processed. 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 ThisNode MAY respond with an intermediate DYMO router RREP. The then ThisNode MAY respond with an intermediate DYMO router RREP. The
procedure for performing intermediate DYMO router RREP is described procedure for performing intermediate DYMO router RREP is described
in Section 5.3.3. If an intermediate DYMO router RREP is sent, in Section 5.3.3. If an intermediate DYMO router RREP is sent,
ThisNode need not perform any more operations for the RM being ThisNode need not perform any more operations for the RM being
processed. processed.
After handling a RM or creating a new RM, ThisNode MAY append After handling a RM or creating a new RM, ThisNode MAY append
additional routing information to the RM prior to redistributing this additional routing information to the RM prior to redistributing this
information, according to the procedure described in Section 5.3.5. information, according to the procedure described in Section 5.3.5.
The additional routing information can help reduce route discoveries The additional routing information can help reduce route discoveries
skipping to change at page 37, line 9 skipping to change at page 37, line 9
| | | | and MAY blacklist the link to | | | | | and MAY blacklist the link to |
| | | | this node. | | | | | this node. |
+-------------------+------+--------+-------------------------------+ +-------------------+------+--------+-------------------------------+
Table 7 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 |
| (DID) | | | found in Section 5.6 | | (DID) | | | found in Section 5.6 |
| DYMO Sequence | 10 - TBD | up to 2 | The DYMO sequence num | | DYMO Sequence | 10 - TBD | up to 2 | The DYMO sequence num |
| Number | | octets | associated with this | | Number | | octets | associated with this |
| (DYMOSeqNum) | | | address. The sequence | | (DYMOSeqNum) | | | address. The sequence |
| | | | number may be the last | | | | | number may be the last |
| | | | known sequence number. | | | | | known sequence number. |
| Distance | 11 - TBD | up to 2 | A metric of the distance | | Distance | 11 - TBD | up to 2 | A metric of the distance |
| | | octets | traversed by the | | | | octets | traversed by the |
| | | | information associated | | | | | information associated |
| | | | with this address. | | | | | with this address. |
| VALIDITY_TIME | TBD | | The maximum amount of | | VALIDITY_TIME | 1[RFC5497] | | The maximum amount of |
| | [RFC5497] | | time that information can | | | | | 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 8 Table 8
8. Security Considerations 8. Security Considerations
The objective of the DYMO protocol is for each router to communicate The objective of the DYMO protocol is for each router to communicate
reachability information to addresses for which it is responsible. reachability information to addresses for which it is responsible.
Positive routing information (i.e. a route exists) is distributed via Positive routing information (i.e. a route exists) is distributed via
RMs and negative routing information (i.e. a route does not exist) RMs and negative routing information (i.e. a route does not exist)
via RERRs. DYMO routers that handle these messages store the via RERRs. DYMO routers that handle these messages store the
skipping to change at page 39, line 31 skipping to change at page 39, line 31
10.2. Informative References 10.2. Informative References
[I-D.chakeres-manet-manetid] [I-D.chakeres-manet-manetid]
Chakeres, I., "MANET_ID TLV", Chakeres, I., "MANET_ID TLV",
draft-chakeres-manet-manetid-03 (work in progress), draft-chakeres-manet-manetid-03 (work in progress),
February 2008. February 2008.
[I-D.ietf-manet-nhdp] [I-D.ietf-manet-nhdp]
Clausen, T., Dearlove, C., and J. Dean, "Mobile Ad Hoc Clausen, T., Dearlove, C., and J. Dean, "Mobile Ad Hoc
Network (MANET) Neighborhood Discovery Protocol (NHDP)", Network (MANET) Neighborhood Discovery Protocol (NHDP)",
draft-ietf-manet-nhdp-12 (work in progress), March 2010. draft-ietf-manet-nhdp-14 (work in progress), July 2010.
[I-D.ietf-ospf-multi-instance] [I-D.ietf-ospf-multi-instance]
Lindem, A., Roy, A., and S. Mirtorabi, "OSPF Multi- Lindem, A., Roy, A., and S. Mirtorabi, "OSPF Multi-
Instance Extensions", draft-ietf-ospf-multi-instance-02 Instance Extensions", draft-ietf-ospf-multi-instance-02
(work in progress), April 2010. (work in progress), April 2010.
[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
 End of changes. 14 change blocks. 
39 lines changed or deleted 46 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/