One document matched: draft-perkins-irrep-02.txt
Differences from draft-perkins-irrep-01.txt
Mobile Ad hoc Networks Working Group C. Perkins
Internet-Draft Futurewei
Intended status: Standards Track I. Chakeres
Expires: June 1, 2013 CenGen
November 28, 2012
Intermediate RREP for dynamic MANET On-demand (AODVv2) Routing
draft-perkins-irrep-02
Abstract
The Dynamic MANET On-demand (AODVv2) routing protocol is intended for
use by mobile routers in wireless, multihop networks. AODVv2
determines unicast routes among AODVv2 routers within the network in
an on-demand fashion, offering on-demand convergence in dynamic
topologies. This document specifies an extension to AODVv2 (and
possibly other reactive routing protocols) enabling intermediate
nodes to shorten route discovery times.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 1, 2013.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
Perkins & Chakeres Expires June 1, 2013 [Page 1]
Internet-Draft Intermediate RREP November 2012
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology and Notation . . . . . . . . . . . . . . . . . . . 4
3. Unknown Prefix Convention . . . . . . . . . . . . . . . . . . 6
4. Intermediate and Unsolicited RREP . . . . . . . . . . . . . . 7
4.1. Intermediate RREP Generation . . . . . . . . . . . . . . . 7
4.2. Unsolicited RREP Generation . . . . . . . . . . . . . . . 8
5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.1. Normative References . . . . . . . . . . . . . . . . . . . 9
7.2. Informative References . . . . . . . . . . . . . . . . . . 10
Appendix A. Changes since the Previous Version . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
Perkins & Chakeres Expires June 1, 2013 [Page 2]
Internet-Draft Intermediate RREP November 2012
1. Overview
The Dynamic MANET On-demand (AODVv2) routing protocol enables on-
demand, multihop unicast routing among participating AODVv2 routers.
The basic operations of the AODVv2 protocol are route discovery and
route maintenance. Route discovery is performed by an AODVv2 router
when one of its clients transmits a packet towards a destination for
which the router does not have a route.
During route discovery, the originator's AODVv2 router (i.e.,
OrigRtr) initiates flooding of a Route Request (RREQ) throughout the
network to find a route to a particular destination, via the AODVv2
router (i.e., TargRtr) responsible for that destination. During this
hop-by-hop flooding process, each intermediate AODVv2 router records
a route to the originator (i.e., OrigNode). If an intermediate
router has a route to the destination requested (i.e., TargNode) in
the RREQ, it may (by following the specification in this document)
supply that routing information to the originator of the RREQ. Such
an RREP message is termed an "Intermediate RREP" (iRREP). The
Intermediate router (i.e., InterRtr) also forwards another RREP
message, termed an "Unsolicited RREP" (uRREP), to the requested
destination. The Unsolicited RREP supplies TargRtr and other
intermediate routers with a route towards OrigNode. When OrigRtr
receives the iRREP, and TargRtr receives the uRREP, a bi-directional
route is established between OrigRtr and TargRtr.
In this document, RREQ always refers to the incoming RREQ message
received by InterRtr. OrigRtr, OrigNode, TargRtr, and TargNode
always refer to the nodes as defined in [I-D.ietf-manet-dymo]; they
are named from the context of the AODVv2 router originating the RREQ
message (OrigRtr).
Intermediate RREQ is particularly effective in conjunction with the
use of "expanding rings multicast", which is specified as an optional
feature in [I-D.ietf-manet-dymo]. Together, these two features
enable a simple "route repair" mechanism. When a route breaks
somewhere near the packet source (i.e., Originating Router), OrigRtr
MAY limit the flooding of a RREQ using expanding rings multicast.
Then, nearby AODVv2 routers can in many situations use iRREP to
supply a new route to the desired destination. Nearness of the
broken link relative to OrigRtr can be measured by the <msg-hop-
count> field of the RERR message (if included) indicating that a
route has broken.
When InterRtr receives an RREQ, it first uses the information in the
RREQ to update any relevant route table entries. Then, if InterRtr
is able to generate an iRREP to satisfy the RREQ, it uses the up-to-
date information in its route table to assign proper values to the
Perkins & Chakeres Expires June 1, 2013 [Page 3]
Internet-Draft Intermediate RREP November 2012
fields of the iRREP (and uRREP). In this way, message processing for
the outgoing RREP messages may be viewed as isolated from the message
processing for the incoming RREQ message.
2. Terminology and Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119]. Additionally, this document uses some terminology and
notation from [RFC5444] and [I-D.ietf-manet-dymo], duplicated here
for convenience.
AODVv2 Sequence Number (SeqNum)
An AODVv2 Sequence Number is maintained by each AODVv2 router
process. This sequence number is used by other AODVv2 routers to
identify the temporal order of routing information generated and
ensure loop-free routes.
Intermediate Route Reply (iRREP)
A RREP message that is originated by an AODVv2 router that is not
TargRtr.
Intermediate Router (InterRtr)
An AODVv2 router along a route between OrigRtr and TargRtr that
itself is not OrigRtr or TargRtr.
Originating Node (OrigNode)
The Originating Node is the source of a data packet that its
AODVv2 router has to deliver.
Originating Router (OrigRtr)
The AODVv2 router that provides network connectivity to the
Originating Node (OrigNode). OrigRtr creates a AODVv2 control
message (namely, RREQ) on behalf of OrigNode to discover a route
to communications endpoints as required by applications running on
OrigNode.
Route Reply (RREP)
A RREP message is used to supply routing information about the
TargNode to OrigRtr and the intermediate AODVv2 routers between
them.
Route Request (RREQ)
A RREQ message is used to discover a valid route to a particular
destination address, called the RREQ TargNode. When an AODVv2
router processes a RREQ, it acquires routing information on how to
Perkins & Chakeres Expires June 1, 2013 [Page 4]
Internet-Draft Intermediate RREP November 2012
reach the RREQ OrigNode.
Router Client
An AODVv2 router may be configured with a list of other IP
addresses and networks which correspond to other non-router nodes
which require the services of the AODVv2 router for route
discovery and maintenance. An AODVv2 is always its own client, so
that the list of client IP addresses is never empty.
Target Node (TargNode)
The Target Node is the ultimate destination of a data packet, and
the node for which a route discovery may be attempted by OrigRtr.
Target Router (TargRtr)
TargRtr is the AODVv2 router providing connectivity for TargNode;
in other words, TargNode is a router client of TargRtr.
Unsolicited Route Reply (uRREP)
An unsolicited RREP message is originated by an AODVv2 router, not
in response to an RREQ message by the uRREP destination. uRREP is
also sometimes called "Gratuitous RREP".
Perkins & Chakeres Expires June 1, 2013 [Page 5]
Internet-Draft Intermediate RREP November 2012
+---------------------+-------------------------------------------+
| Notation | Meaning |
+---------------------+-------------------------------------------+
| Route[Dest] | A route (or route table entry) to Dest |
| Route[Dest].{field} | A field in the route table entry |
| RREP.{field} | Field in RREP |
| -- | -- |
| MsgHdr | the RFC5444 Message Header |
| MsgTLV | an RFC5444 Message TLV |
| HopLimit | MsgHdr.<msg-hop-limit> |
| -- | -- |
| AddrBlk | an RFC5444 address block |
| AddrBlk[1] | The first address slot in AddrBlk |
| AddrBlk[N] | The Nth address slot in AddrBlk |
| AddrBlk[i].{field} | {field} value for AddrBlk[i] |
| AddrBlk[OrigNode] | AddrBlk[1] |
| AddrBlk[TargNode] | AddrBlk[2] |
| AddrBlk[uOrigNode] | AddrBlk[1] |
| AddrBlk[uTargNode] | AddrBlk[2] |
| RREP.PfxLen[i] | same as RREP.AddrBlk[i].PfxLen |
| HopCountTLV | HopCount TLV for AddrBlk addresses |
| SeqNumTLV | Sequence Number TLV for AddrBlk addresses |
| -- | -- |
| OrigRtr | RREQ Originating Router |
| OrigNode | Originating Node |
| InterRtr | Intermediate AODVv2 Router |
| TargRtr | Target Router |
| TargNode | Target Node |
| uOrigNode | IP address in the "OrigNode" uRREP slot |
| uTargNode | IP address in the "TargNode" uRREP slot |
+---------------------+-------------------------------------------+
Table 1
Note that Table 1 treats AddrBlk and TLV array values as if indexed
starting with 1 instead of 0, in contrast to RFC 5444 [RFC5444].
3. Unknown Prefix Convention
In this specification, it is possible that one of the two addresses
in the specified RREP AddrBlks has a known <prefix-length> value, but
the other address does not. In such cases, a <prefix-length> value
block MUST be supplied even though only one <prefix-length> is known.
Since RFC 5444 requires the <prefix-length>s to be supplied for both
addresses, in this document any unknown <prefix-length> in an RFC
5444 AddrBlk MUST be assigned the value of 0. Such a value for the
prefix length is not meaningful, and MUST NOT be stored as the prefix
Perkins & Chakeres Expires June 1, 2013 [Page 6]
Internet-Draft Intermediate RREP November 2012
length in any route table entry.
4. Intermediate and Unsolicited RREP
If an intermediate AODVv2 router (InterRtr) has a Route that can
satisfy an incoming RREQ, it MAY respond with an Intermediate RREP
(iRREP). As usual with any incoming RteMsg, InterRtr first updates
its route table using the information contained in the RREQ. For
instance, a route to OrigNode may be created. After the incoming
route update information is applied, InterRtr has valid routes to
both RREQ.OrigNode and RREQ.TargNode (namely, Route[OrigNode] and
Route[TargNode] respectively).
InterRtr SHOULD also issue a RREP to the RREQ TargNode, so that the
RREQ TargNode receives routing information on how to reach the RREQ
OrigNode. This RREP sent towards the RREQ TargNode is known as an
"Unsolicited RREP" (uRREP). Each AODVv2 router between InterRtr and
TargRtr that receives the uRREP, uses the uRREP information to update
their route table entry for OrigNode. The uRREP is constructed as if
it had been transmitted in response to a route discovery initiated by
TargRtr to discover a route for OrigNode.
The following conditions must be satisfied before the intermediate
router (InterRtr) can transmit iRREP and uRREP.
o InterRtr is not TargRtr
o RREQ does not contain the DestOnly message TLV
o InterRtr has a valid route for TargNode, namely Route[TargNode]
o Route[TargNode].SeqNum >= RREQ.SeqNumTLV[TargNode] (using signed
16-bit arithmetic)
4.1. Intermediate RREP Generation
The fields of the iRREP are assigned as follows.
o IP.DestinationAddr := Route[OrigNode].NextHop
o iRREP.HopLimit := Route[OrigNode].HopCount
o iRREP.AddrBlk[OrigNode] := Route[OrigNode].Addr
o iRREP.AddrBlk[TargNode] := Route[TargNode].Addr
Perkins & Chakeres Expires June 1, 2013 [Page 7]
Internet-Draft Intermediate RREP November 2012
o iRREP.SeqNumTLV[OrigNode] := Route[OrigNode].SeqNum
o iRREP.SeqNumTLV[TargNode] := Route[TargNode].Seqnum
o iRREP.HopCountTLV[TargNode] := Route[TargNode].HopCount
o If Route[TargNode].PfxLen is equal to 0, or the number of bits in
the addresses of the RREQ (32 for IPv4, 128 for IPv6), then no
<prefix-length> is included with the iRREP. Otherwise,
* iRREP.PfxLen[TargNode] := Route[TargNode].PfxLen
* iRREP.PfxLen[OrigNode] := 0
o iRREP.VALIDITY_TIME[TargNode] :=
(ACTIVE_INTERVAL+MAX_IDLETIME) - (Current_Time-Route.LastUsed)
No prefix length is needed for OrigNode, but due to RFC 5444 format
requirements, RREP.PfxLen[OrigNode] must be included if
RREP.PfxLen[TargNode] is included. In that case,
RREP.PfxLen[OrigNode] = 0. Therefore either 0 or two <prefix-length>
values are included with iRREP.AddrBlk. The VALIDITY_TIME TLV has
exactly one (1) element, which is the remaining time before the route
to TargNode expires. Since the route is a valid route, this is a
positive number.
4.2. Unsolicited RREP Generation
Since the uRREP is intended to fulfill the function of an RREP
response to an fictional RREQ message for discovering a route to
OrigNode, the order of the addresses in the uRREP AddrBlk has to be
reversed. In other words, RREQ.OrigNode has to be the IP address in
the "TargNode" slot of the uRREP, and would have been the "TargNode"
in the fictional RREQ message to which the uRREP is fictionally
responding. To reduce confusion, the IP address in the "OrigNode"
AddrBlk slot of the uRREP is denoted "uOrigNode", and it has the same
value as the IP address of the TargNode of the incoming RREQ.
Similarly, the IP address in the "TargNode" AddrBlk slot of the uRREP
is denoted "uTargNode", and it has the same value as the IP address
of the OrigNode of the incoming RREQ.
The fields of the uRREP are assigned as follows.
o IP.DestinationAddr := Route[TargNode].NextHop
o uRREP.HopLimit := Route[TargNode].HopCount
Perkins & Chakeres Expires June 1, 2013 [Page 8]
Internet-Draft Intermediate RREP November 2012
o uRREP.AddrBlk[uOrigNode] := Route[TargNode].Addr
o uRREP.AddrBlk[uTargNode] := Route[OrigNode].Addr
o uRREP.SeqNumTLV[uTargNode] := Route[OrigNode].SeqNum
o uRREP.HopCountTLV[uTargNode] := Route[OrigNode].HopCount
o If Route[OrigNode].PfxLen is equal to 0, or the number of bits in
the addresses of the RREQ (32 for IPv4, 128 for IPv6), then no
<prefix-length> is included with the uRREP AddrBlk. Otherwise,
* uRREP.PfxLen[uTargNode] := Route[OrigNode].PfxLen.
* uRREP.PfxLen[uOrigNode] := 0.
No prefix length is needed for uOrigNode == RREQ.TargNode, but due to
RFC 5444 format requirements, uRREP.PfxLen[uOrigNode] must be
included if uRREP.PfxLen[uTargNode] is included. In that case,
uRREP.PfxLen[uOrigNode] = 0. Therefore either 0 or two <prefix-
length> values are included with uRREP.AddrBlk.
5. Acknowledgments
TBD
6. Security Considerations
If AODVv2 RREP messages are not secured, then the threats are the
same. Otherwise, the ability of intermediate routers to issue RREP
on behalf of a destination node changes the security vulnerability of
the MANET. To improve security, then Intermediate Routers as well as
RREQ.OrigNode and RREQ.TargNode need to maintain security
associations with their neighbors in the MANET in order to verify
iRREP and uRREP. Doing this depends on the exact nature of the
method by which the control messages are made secure, and is beyond
the scope of this document.
7. References
7.1. Normative References
[I-D.ietf-manet-dymo]
Perkins, C. and I. Chakeres, "Dynamic MANET On-demand
(AODVv2) Routing", draft-ietf-manet-dymo-23 (work in
Perkins & Chakeres Expires June 1, 2013 [Page 9]
Internet-Draft Intermediate RREP November 2012
progress), October 2012.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5444] Clausen, T., Dearlove, C., Dean, J., and C. Adjih,
"Generalized Mobile Ad Hoc Network (MANET) Packet/Message
Format", RFC 5444, February 2009.
7.2. Informative References
[RFC3561] Perkins, C., Belding-Royer, E., and S. Das, "Ad hoc On-
Demand Distance Vector (AODV) Routing", RFC 3561,
July 2003.
Appendix A. Changes since the Previous Version
o Many changes for RFC 5444 compliance.
o Added unsolicitied RREP (uRREP).
o Added notational conventions from [I-D.ietf-manet-dymo].
o Rewrote many paragraphs to conform to above changes.
o Added section about "prefix-length"=0.
o Added this "Changes" section.
o More later...
Authors' Addresses
Charles E. Perkins
Futurewei Inc.
3300 Central Expressway
Santa Clara, CA 95053
USA
Phone: +1-408-330-5305
Email: charliep@computer.org
Perkins & Chakeres Expires June 1, 2013 [Page 10]
Internet-Draft Intermediate RREP November 2012
Ian D Chakeres
CenGen
9250 Bendix Road North
Columbia, Maryland 21045
USA
Email: ian.chakeres@gmail.com
URI: http://www.ianchak.com/
Perkins & Chakeres Expires June 1, 2013 [Page 11]
| PAFTECH AB 2003-2026 | 2026-04-24 01:25:24 |