Internet DRAFT - draft-lindgren-dtnrg-gorf-epidemic
draft-lindgren-dtnrg-gorf-epidemic
DTN Research Group A. Lindgren
Internet-Draft SICS
Intended status: Experimental E. Davies
Expires: February 1, 2014 Folly Consulting
A. Doria
Consultant
July 31, 2013
Epidemic Routing Module for Generic Opportunistic Routing Framework
draft-lindgren-dtnrg-gorf-epidemic-00
Abstract
This document defines a routing algorithm module for GORF, the
Generic Opportunistic Routing Framework, as defined in
draft-lindgren-dtnrg-gorf-00. This module specifies the Epidemic
Routing algorithm for that framework.
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 February 1, 2014.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
Lindgren, et al. Expires February 1, 2014 [Page 1]
Internet-Draft Epidemic GORF July 2013
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Routing Algorithm Module . . . . . . . . . . . . . . . . . . . 4
2.1. Routing Algorithm Identifier . . . . . . . . . . . . . . . 4
2.2. Routing metric format definition . . . . . . . . . . . . . 4
2.3. Node characteristics format definition . . . . . . . . . . 4
2.4. GORF API Function Definitions . . . . . . . . . . . . . . . 4
2.4.1. updateState . . . . . . . . . . . . . . . . . . . . . . 4
2.4.2. encounterNode . . . . . . . . . . . . . . . . . . . . . 4
2.4.3. generateOffer . . . . . . . . . . . . . . . . . . . . . 4
2.4.4. generateResponse . . . . . . . . . . . . . . . . . . . 5
2.4.5. bundleSent() . . . . . . . . . . . . . . . . . . . . . 5
2.4.6. dropAdvice . . . . . . . . . . . . . . . . . . . . . . 5
2.4.7. getMetricFormat() . . . . . . . . . . . . . . . . . . . 5
2.4.8. getNodeCharacteristics() . . . . . . . . . . . . . . . 5
2.4.9. getNodeCharFormat() . . . . . . . . . . . . . . . . . . 5
2.4.10. newBundleArrived() . . . . . . . . . . . . . . . . . . 5
2.4.11. nodeDisconnected() . . . . . . . . . . . . . . . . . . 5
2.4.12. ackReceived() . . . . . . . . . . . . . . . . . . . . . 5
2.4.13. getInformationExchangeTimer() . . . . . . . . . . . . . 5
3. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
4. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Normative References . . . . . . . . . . . . . . . . . . . 7
4.2. Informative References . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
Lindgren, et al. Expires February 1, 2014 [Page 2]
Internet-Draft Epidemic GORF July 2013
1. Introduction
This document provides a specification of a routing module algorithm
defining the Epidemic Routing algorithm for the GORF opportunistic
routing framework. Epidemic Routing was first introduced in
[vahdat_00], and many variations on it has since been proposed and
used in various research work.
The basic idea behind Epidemic Routing is to model the dissemination
of messages as an epidemic spread of a virus where a nodes "infect"
all other nodes it meet with a message. The infected nodes can then
further infect the nodes they meet in term, spreading the message
throughout the network.
In this document, we define the basic version of epidemic routing.
When nodes meet, they exchange lists of bundles available, and try to
(given enough time and bandwidth) transfer bundles between the nodes
so that both nodes have all bundles.
Lindgren, et al. Expires February 1, 2014 [Page 3]
Internet-Draft Epidemic GORF July 2013
2. Routing Algorithm Module
2.1. Routing Algorithm Identifier
The Routing Algorithm Identifier for Epidemic Routing is 0x0001.
2.2. Routing metric format definition
Format definition:
---------------------
Length: 0
---------------------
In Epidemic Routing, no routing state is kept, so therefore the
routing metric to be maintained is an empty string of length zero.
2.3. Node characteristics format definition
Format definition:
---------------------
Length: 0
---------------------
2.4. GORF API Function Definitions
2.4.1. updateState
Do nothing.
2.4.2. encounterNode
Do nothing.
2.4.3. generateOffer
Return a list of all bundles stored. If any bundle has the peering
node as destination, those bundles should be listed at the head of
the list.
Lindgren, et al. Expires February 1, 2014 [Page 4]
Internet-Draft Epidemic GORF July 2013
2.4.4. generateResponse
Return the same list of bundles as was given as input. If any bundle
has this node as destination, those bundles should be listed at the
head of the list.
2.4.5. bundleSent()
Do nothing.
2.4.6. dropAdvice
Input:
o n: number of bundles to drop
Return a list of the first n bundles in the internal bundle queue.
2.4.7. getMetricFormat()
Return "0".
2.4.8. getNodeCharacteristics()
Return "0".
2.4.9. getNodeCharFormat()
Return "0".
2.4.10. newBundleArrived()
Return the full list of currently connected peers (so that a
BundleOffer for this bundle is sent to all connected nodes).
2.4.11. nodeDisconnected()
Do nothing.
2.4.12. ackReceived()
Do nothing.
2.4.13. getInformationExchangeTimer()
Return 0.
Lindgren, et al. Expires February 1, 2014 [Page 5]
Internet-Draft Epidemic GORF July 2013
3. Security Considerations
Lindgren, et al. Expires February 1, 2014 [Page 6]
Internet-Draft Epidemic GORF July 2013
4. References
4.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5050] Scott, K. and S. Burleigh, "Bundle Protocol
Specification", RFC 5050, November 2007.
4.2. Informative References
[RFC1058] Hedrick, C., "Routing Information Protocol", RFC 1058,
June 1988.
[RFC4838] Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst,
R., Scott, K., Fall, K., and H. Weiss, "Delay-Tolerant
Networking Architecture", RFC 4838, April 2007.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[vahdat_00]
Vahdat, A. and D. Becker, "Epidemic Routing for Partially
Connected Ad Hoc Networks", Duke University Technical
Report CS-200006, April 2000.
Lindgren, et al. Expires February 1, 2014 [Page 7]
Internet-Draft Epidemic GORF July 2013
Authors' Addresses
Anders F. Lindgren
SICS Swedish ICT
Box 1263
Kista SE-164 29
SE
Phone: +46707177269
Email: andersl@sics.se
URI: http://www.sics.se/~andersl
Elwyn Davies
Folly Consulting
Soham
UK
Phone:
Email: elwynd@folly.org.uk
URI:
Avri Doria
Consultant
Providence RI
US
Phone:
Email: avri@acm.org
URI: http://psg.com/~avri
Lindgren, et al. Expires February 1, 2014 [Page 8]