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]