idnits 2.17.1 draft-lindgren-dtnrg-gorf-epidemic-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 31, 2013) is 3893 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Unused Reference: 'RFC2119' is defined on line 189, but no explicit reference was found in the text == Unused Reference: 'RFC5050' is defined on line 192, but no explicit reference was found in the text == Unused Reference: 'RFC1058' is defined on line 197, but no explicit reference was found in the text == Unused Reference: 'RFC4838' is defined on line 200, but no explicit reference was found in the text == Unused Reference: 'RFC5226' is defined on line 204, but no explicit reference was found in the text -- Obsolete informational reference (is this intentional?): RFC 5226 (Obsoleted by RFC 8126) Summary: 1 error (**), 0 flaws (~~), 6 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DTN Research Group A. Lindgren 3 Internet-Draft SICS 4 Intended status: Experimental E. Davies 5 Expires: February 1, 2014 Folly Consulting 6 A. Doria 7 Consultant 8 July 31, 2013 10 Epidemic Routing Module for Generic Opportunistic Routing Framework 11 draft-lindgren-dtnrg-gorf-epidemic-00 13 Abstract 15 This document defines a routing algorithm module for GORF, the 16 Generic Opportunistic Routing Framework, as defined in 17 draft-lindgren-dtnrg-gorf-00. This module specifies the Epidemic 18 Routing algorithm for that framework. 20 Status of this Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on February 1, 2014. 37 Copyright Notice 39 Copyright (c) 2013 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 2. Routing Algorithm Module . . . . . . . . . . . . . . . . . . . 4 56 2.1. Routing Algorithm Identifier . . . . . . . . . . . . . . . 4 57 2.2. Routing metric format definition . . . . . . . . . . . . . 4 58 2.3. Node characteristics format definition . . . . . . . . . . 4 59 2.4. GORF API Function Definitions . . . . . . . . . . . . . . . 4 60 2.4.1. updateState . . . . . . . . . . . . . . . . . . . . . . 4 61 2.4.2. encounterNode . . . . . . . . . . . . . . . . . . . . . 4 62 2.4.3. generateOffer . . . . . . . . . . . . . . . . . . . . . 4 63 2.4.4. generateResponse . . . . . . . . . . . . . . . . . . . 5 64 2.4.5. bundleSent() . . . . . . . . . . . . . . . . . . . . . 5 65 2.4.6. dropAdvice . . . . . . . . . . . . . . . . . . . . . . 5 66 2.4.7. getMetricFormat() . . . . . . . . . . . . . . . . . . . 5 67 2.4.8. getNodeCharacteristics() . . . . . . . . . . . . . . . 5 68 2.4.9. getNodeCharFormat() . . . . . . . . . . . . . . . . . . 5 69 2.4.10. newBundleArrived() . . . . . . . . . . . . . . . . . . 5 70 2.4.11. nodeDisconnected() . . . . . . . . . . . . . . . . . . 5 71 2.4.12. ackReceived() . . . . . . . . . . . . . . . . . . . . . 5 72 2.4.13. getInformationExchangeTimer() . . . . . . . . . . . . . 5 73 3. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 74 4. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 75 4.1. Normative References . . . . . . . . . . . . . . . . . . . 7 76 4.2. Informative References . . . . . . . . . . . . . . . . . . 7 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 79 1. Introduction 81 This document provides a specification of a routing module algorithm 82 defining the Epidemic Routing algorithm for the GORF opportunistic 83 routing framework. Epidemic Routing was first introduced in 84 [vahdat_00], and many variations on it has since been proposed and 85 used in various research work. 87 The basic idea behind Epidemic Routing is to model the dissemination 88 of messages as an epidemic spread of a virus where a nodes "infect" 89 all other nodes it meet with a message. The infected nodes can then 90 further infect the nodes they meet in term, spreading the message 91 throughout the network. 93 In this document, we define the basic version of epidemic routing. 94 When nodes meet, they exchange lists of bundles available, and try to 95 (given enough time and bandwidth) transfer bundles between the nodes 96 so that both nodes have all bundles. 98 2. Routing Algorithm Module 100 2.1. Routing Algorithm Identifier 102 The Routing Algorithm Identifier for Epidemic Routing is 0x0001. 104 2.2. Routing metric format definition 106 Format definition: 107 --------------------- 108 Length: 0 109 --------------------- 111 In Epidemic Routing, no routing state is kept, so therefore the 112 routing metric to be maintained is an empty string of length zero. 114 2.3. Node characteristics format definition 116 Format definition: 117 --------------------- 118 Length: 0 119 --------------------- 121 2.4. GORF API Function Definitions 123 2.4.1. updateState 125 Do nothing. 127 2.4.2. encounterNode 129 Do nothing. 131 2.4.3. generateOffer 133 Return a list of all bundles stored. If any bundle has the peering 134 node as destination, those bundles should be listed at the head of 135 the list. 137 2.4.4. generateResponse 139 Return the same list of bundles as was given as input. If any bundle 140 has this node as destination, those bundles should be listed at the 141 head of the list. 143 2.4.5. bundleSent() 145 Do nothing. 147 2.4.6. dropAdvice 149 Input: 151 o n: number of bundles to drop 153 Return a list of the first n bundles in the internal bundle queue. 155 2.4.7. getMetricFormat() 157 Return "0". 159 2.4.8. getNodeCharacteristics() 161 Return "0". 163 2.4.9. getNodeCharFormat() 165 Return "0". 167 2.4.10. newBundleArrived() 169 Return the full list of currently connected peers (so that a 170 BundleOffer for this bundle is sent to all connected nodes). 172 2.4.11. nodeDisconnected() 174 Do nothing. 176 2.4.12. ackReceived() 178 Do nothing. 180 2.4.13. getInformationExchangeTimer() 182 Return 0. 184 3. Security Considerations 185 4. References 187 4.1. Normative References 189 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 190 Requirement Levels", BCP 14, RFC 2119, March 1997. 192 [RFC5050] Scott, K. and S. Burleigh, "Bundle Protocol 193 Specification", RFC 5050, November 2007. 195 4.2. Informative References 197 [RFC1058] Hedrick, C., "Routing Information Protocol", RFC 1058, 198 June 1988. 200 [RFC4838] Cerf, V., Burleigh, S., Hooke, A., Torgerson, L., Durst, 201 R., Scott, K., Fall, K., and H. Weiss, "Delay-Tolerant 202 Networking Architecture", RFC 4838, April 2007. 204 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 205 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 206 May 2008. 208 [vahdat_00] 209 Vahdat, A. and D. Becker, "Epidemic Routing for Partially 210 Connected Ad Hoc Networks", Duke University Technical 211 Report CS-200006, April 2000. 213 Authors' Addresses 215 Anders F. Lindgren 216 SICS Swedish ICT 217 Box 1263 218 Kista SE-164 29 219 SE 221 Phone: +46707177269 222 Email: andersl@sics.se 223 URI: http://www.sics.se/~andersl 225 Elwyn Davies 226 Folly Consulting 227 Soham 228 UK 230 Phone: 231 Email: elwynd@folly.org.uk 232 URI: 234 Avri Doria 235 Consultant 236 Providence RI 237 US 239 Phone: 240 Email: avri@acm.org 241 URI: http://psg.com/~avri