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]