Challenge Overview

The Office of Space Communications and Navigation (SCaN) at NASA Headquarters leads the Delay Tolerant Networking (DTN) investigation with the goal of advancing the maturity and heritage (space flight use) of the DTN communication protocols.

Delay tolerant networks make use of store-and-forward techniques within the network in order to compensate for intermittent link connectivity. In the DTN the fundamental concept is an architecture based on Internet-independent middleware where protocols at all layers are used that best suit the operation within each environment, with a new overlay network protocol (bundle protocol) inserted between the applications and the locally optimized communications stacks.

Three assembly contests implemented the ION-DTN LTP authentication based on RFC specs: RFC 5326 and 5327. The assembly provided an initial set of tests that will be extended in this test suite competiton. You should follow the existing QA plan to construct your tests.

 

Developers can deploy ION-DTN locally, but there is a VM available with ION-DTN updated code. We suggest using the VM.

Request VM to email to romanotc@copilots.topcoder.com

Please get your request in fast. We try to process requests as fast as possible, however this is still a manual process and a 12h-24h delay or more may apply depending on circumstances.



Final Submission Guidelines

Submission Deliverables

The following tasks are expected from this competition:

  • Automate the functional test scenarios defined in the test scenario document (download here)
  • Work on top of existing ION-DTN test scripts to run the test cases, whenever possible. Otherwise, use other approaches to run the tests, such as manual steps, shell scripts or C code.
  • You should work on top of ION-DTN LTP Auth assembly code (download here). Look for tests numbered 1600, 1601, 1602, 1603, etc..
  • Create a deployment document that describes how to run the test cases.
  • Identify any errors or omissions in the QA Plan and Test Scenarios, and correct them. Basically, if a test doesn't make sense or doesn't seem right, get it clarified in the forums, and then update your test code and documents accordingly.
  • Ensure that your test code executes both the positive and negative tests. Positive tests should test functionality with expected or correct inputs. Negative tests should test functionality with unexpected or wrong inputs.
  • Create a Jira ticket for each bug found (winner only)

Interoperability tests:

There are some tests that are not present in the Test Scenario QA plan that needs to be tested:

  • ltpsend and ltprecv: you need to use these tools - which are already available in VM - to test ION SEC. At least one positive and one negative test using this tool. You can provide tests for features in QA sheet using this tool if you prefer, instead of using other ION-DTN tools.
  • At least one positive and one negative iteroperability tests - both ways - with Python LTP. Note: Python LTP depends on Key ID when it is the receiver. ION-DTN auth implementation hard codes Key ID using the following rule: 0x20 for ciphersuite 0, 0x21 for ciphersuite 1 and 0x22 for ciphersuite 2. Make sure you use this value when starting Python LTP.

Downloads

Document Name Description
ION-DTN LTP Authentication Test Scenarios This competition should be based on this document's test sheet
ION-DTN LTP Authentication Assembly The assembly with the code to be tested. There were three assemblers and the deployment guide for each assembly is available is this zip file. The code is already merged in a single folder and available in VM.
ION-DTN Auth with Python and ltpsend/receive VM deployment guide This is the deployment guide to setup your VM. The VM already has the code from the last assembly, Python LTP and LTP send and receive.
ION-DTN Coding Style Guide ION-DTN Coding Style. You should follow this document when writing your code.
LTP Authentication Architecture (for your reference) The initial architecture documentation used to develop the assembly. It will be useful in case of questions related to requirements

 

 

 

 

 

 

 

 

 

Environment:

External Refereences:

ION-DTN website http://ion-dtn.sourceforge.net/
RFC 5327 - Licklider Transmission Protocol - Security Extensions http://tools.ietf.org/html/rfc5327
RFC 5326 - Licklider Transmission Protocol - Specification http://tools.ietf.org/html/rfc5326

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30035566