Network Working Group W. Ivancic
Internet-Draft W.M. Eddy
Intended status: Experimental Protocol MTI Systems
Expires: January 08, 2013 A. Hylton
D. Iannicca
NASA GRC
J. Ishac
NASA GRC
July 09, 2012

Store, Carry and Forward Requirements and Expectations
draft-ivancic-scf-requirements-expectations-00

Abstract

This document describes the requirements for a Store, Carry and Forward (SCF) protocol, and the expectations placed upon the SCF agents and SCF applications.

The Requirements and Expectations document is one of three that fully describe the SCF system. The other two are the problem statement and the testing requirements document.

Status of this Memo

This Internet-Draft is submitted to IETF 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 January 08, 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.

This document may not be modified, and derivative works of it may not be created, except to format it for publication as an RFC or to translate it into languages other than English.


Table of Contents

1. Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

In developing this document, we have intentionally avoided some terminology used by other protocols - particularly store-and-forward protocols - to avoid biases and confusion that may otherwise ensue.

2. Introduction

This document describes the requirements for a Store, Carry and Forward (SCF) protocol, and the expectations placed upon the SCF agents and SCF applications.

The Requirements and Expectations document is one of three that fully describe the SCF system. The other two are the problem statement and the testing requirements document.

As background, the SCF Problem Statement is suggested reading. The SCF Problem Statement describes the core SCF problem and gives an assessment of the potential to use existing technologies as solutions. In addition, it provides a number of SCF deployment scenarios.

3. Design Considerations

The following design considerations are explicitly stated with a goal of keeping the protocol simple. (Anyone can make things more complicated!)

4. Protocol Requirements

The following are a list of requirements for a SCF Protocol. The requirements are specifically written in general terms. The intent it to identify what is required, not how to solve the requirement. The requirements are in no particular order of precedence but are numbered in order to aid in referencing for discussion.

SCF Agent Requirements and Agent operation expectations have been intentionally separated as the SCF Agent requirements are more policy-based than protocol-based. However, one needs to understand both in order to effectively implement the SCF protocol.

PROTOCOL-REQ1 :
The SCF relaying protocol MUST be able to handle data sets that are very small (several bytes) and very large (several gigabytes).

PROTOCOL-REQ2 :
The SCF protocol MUST permit SCF agents to be able to aggregate containers.

PROTOCOL-REQ3 :
The SCF protocol MUST permit SCF agents to be able to deaggregate containers.

PROTOCOL-REQ4 :
The SCF protocol MUST permit SCF agents to be able to reactively fragment a container.

PROTOCOL-REQ5 :
The SCF protocol SHOULD permit SCF agents to be able to proactively fragment a container.

PROTOCOL-REQ6 :
An SCF protocol MUST implement reliability on the Shipping Label and a damaged Shipping Label MUST not propagate to further SCF agents or have its container further propagated or delivered to applications..

PROTOCOL-REQ7 :
An SCF protocol MUST be capable of implementing reliability on the Shipping Container.

PROTOCOL-REQ8 :
The SCF protocol security implementation MUST authenticate the Shipping Label independent of the Shipping Container.

PROTOCOL-REQ9 :
The SCF protocol security implementation MUST work with reactive fragmentation.

PROTOCOL-REQ10 :
The SCF protocol security implementation MUST have a security policy database to control resources.

PROTOCOL-REQ11 :
The SCF protocol MUST be able to separate the Shipping Label from the Shipping Container

PROTOCOL-REQ12 :
The SCF protocol MUST have a mechanism that enables data to die naturally.

PROTOCOL-REQ13 :
The SCF protocol MUST have a naming mechanism that specifies the application and instance to which the content is bound.

PROTOCOL-REQ14 :
The SCF protocol MUST have a Quality-of-Service (QOS) mechanism to expedite forwarding and to handle storage lifetimes.

PROTOCOL-REQ15 :
The SCF protocol MUST have mechanism for a receiving system to acknowledge reception of container from the sending system (i.e. hop-by-hop acknowledgements).

PROTOCOL-REQ16 :
The SCF protocol MUST have a mechanism to notify a sender that the container will not be processed.

PROTOCOL-REQ17 :
The SCF protocol SHOULD have a mechanism that enables one to identify fresh versus stale content for a given flow.

5. Agent Requirements and Expectations

The following are a list of requirements for a SCF Agent. The requirements are in no particular order of precedence but are numbered in order to aid in referencing for discussion.

AGENT-REQ10 :
An SCF agent MUST NOT be required to implement SCF security. Security must be optional.

AGENT-REQ11 :
An SCF agent MAY implement reliability on the Shipping Container.

AGENT-REQ12 :
An SCF agent MUST hold on to a container until it can either be transferred or QOS policy indicates its useful lifetime has expired or storage resources reach a level that requires some purging of containers based on policy.

AGENT-REQ13 :
An SCF agent MAY remove a container once it receives notification from the next hop SCF that the container has been delivered.

AGENT-REQ14 :
An SCF agent SHOULD NOT accept a container if it has no intention of giving a best effort to forward the container.

AGENT-REQ15 :
An SCF agent SHOULD implement policy system that controls resources. Such a policy system MAY include filters described below.

AGENT-REQ16 :
If security is implemented, when coming in contact with one another, adjacent SCF agents MUST minimally be able to identify one another securely and prove that they can be trusted as relays for a given destination application.

AGENT-REQ17 :
SCF Agents MUST be able to indicate (or deny) forwarding of individual containers, based on exchanging their shipping labels only.

AGENT-REQ18 :
SCF Agents MAY notify applications of pending received data.

6. Application Requirements and Expectations

APPLICATION-REQ1 :
Applications SHOULD designed to operate in a disconnected systems.

APPLICATION-REQ2 :
Applications MUST be able to select their own globally unique identifiers and notify SCF agents of them, along with providing proof of ownership.

APPLICATION-REQ3 :
Applications MUST be able to poll a SCF agent for pending received data.

7. Security Considerations

This document does not specify a protocol or implementation, only the requirements set. The rationale for individual requirements related to security include discussion of the security considerations that motivate them.

8. IANA Considerations

This document neither creates nor updates any registries or codepoints, so there are no IANA Considerations.

9. Acknowledgements

Much work builds on lessons learned from the work performed by the IRTF DTN Research Group.

Work on this document at NASA's Glenn Research Center was funded by the NASA Glenn Research Center Innovation Funds. Many thanks to Denise Ponchak for aiding in obtaining financial supporting for this activity.

10. References

10.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980.

10.2. Informative References

[RFC5050] Scott, K. and S. Burleigh, "Bundle Protocol Specification", RFC 5050, November 2007.
[Multi-Terminal] Ivancic, W., Paulsen, P., Stewart, D., Taylor, J., Lynch, S., Heberle, J., Northam, J., Jackson, C. and L. Wood, ""Large File Transfers from Space using Multiple Ground Terminals and Delay-Tolerant Networking"", IEEE Global Telecommunications Conference (GLOBECOM 2010), , December 2010.

Authors' Addresses

William Ivancic NASA Glenn Research Center 21000 Brookpark Road Cleveland, Ohio 44135 United States Phone: +1-216-433-3494 EMail: william.d.ivancic@nasa.gov
Wesley M. Eddy MTI Systems EMail: wes@mti-systems.com
Alan G. Hilton NASA Glenn Research Center 21000 Brookpark Road Cleveland, Ohio 44135 United States Phone: +1-216-433-6045 EMail: alan.g.hylton@nasa.gov
Dennis C. Iannicca NASA Glenn Research Center 21000 Brookpark Road Cleveland, Ohio 44135 United States Phone: +1-216-433-6493 EMail: dennis.c.iannicca@nasa.gov
Joseph A. Ishac NASA Glenn Research Center 21000 Brookpark Road Cleveland, Ohio 44135 United States Phone: +1-216-433-6587 EMail: jishac@nasa.gov