+ All Categories
Home > Documents > ION IMPLEMENTATION Exercise: Add a Node to OF THE an ...

ION IMPLEMENTATION Exercise: Add a Node to OF THE an ...

Date post: 18-Dec-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
17
ION IMPLEMENTATION OF THE DTN PROTOCOL Exercise: Add a Node to an Existing Scenario 1 ©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19032344.
Transcript

IONIMPLEMENTATION

OF THEDTN PROTOCOL

Exercise: Add a Node to an Existing Scenario

1©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

Agenda

• Add a new node to the Exercise2A_constant configuration• Add Node3 that communicates with Node2 via a TCP Convergence Layer

2

ION NASA ION Class CORE Scenarios:https://nasaioncourse.s3.amazonaws.com/NASA_ION_Course_v2.tgz

©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

To Add A Node…

• Copy the Exercise2A_constant directory to Exercise1Bcp –ar Exercise2A_constant Exercise1B

• cd into Exercise1B_constant• Change the name of the .imn file to Exercise1B.imn

cd Exercise1Bmv Exercise2A_constant.imn Exercise1B

• Copy an existing node directory (e.g. n2) to a new node (e.g. n3)cp –r n2 n3

• Edit the file n3/link/nodeParams.sh• Change the IPN_NODE_NUMBER to 3• This is used by the CORE setup script, not directly part of ION configuration

3©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

Create a New Node

• In the CORE gui, make n3 by right‐clicking on n2, copying it, and then using the menu bar to paste the new node onto the canvas

• Note: Magic.  The startup scripts that automatically start ION are part of the node configuration.

• If you simply make a new node by clicking the router icon and placing a new node on the canvas, you’ll also need to:

• Connect that node to the wireless network (right‐click on the node and connect it to wlan5)

• Either:• Install the node startup script functions• Set up the node by hand after the emulation starts

4©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

Copy n1’s Config Files

• In the host Exercise1B/config directory:cp n1.ionconfig n3.ionconfigcp n1.ionrc n3.ionrccp n1.bprc n3.bprccp n1.ipnrc n3.ipnrc(you can skip the .ltprc file)

5©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

Edit the Config Files

• Edit the config files for n1 and n2 so that n2 is a neighbor of n3 and n3 appears in the (global) contact plan

• Add a TCP CLA from n2 to n3 and vice/versa• Add a TCP protocol line on n2• Add a TCP induct on n2• Add a TCP outduct from n2 to n3

• Modify the new n3 config files to add the TCP CL to n2• Change n3’s induct and outduct types (and the syntax) to tcpcls

6©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

n3.ionrc

Old (copied from n1.ionrc) Change to

1 1 1 3

7©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

n3.bprc

Old (copied from n1.ionrc) Change to / Add

a endpoint ipn:1.x a endpoint ipn:3.x

a protocol  tcp 1400 100 1000000

Comment out ltp induct and ltp outduct  a induct  tcp 0.0.0.0:4556 tcpcli

 a outduct tcp 10.0.1.2:4556 tcpclo (or instead of tcpclo we could just use ‘’)

8©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

n3.ipnrc

Old (copied from n1.ionrc) Change to

 a plan 2 ltp/2  a plan 2 tcp/10.0.1.2:4556

9©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

n2.ipnrc

Old Add

 a plan 3 tcp/10.0.1.3:4556

10©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

n2.ipnrc

Old Add

 a plan 3 tcp/10.0.1.3:4556

11©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

n2.bprc

Old Add

 a protocol tcp 1400 100 1000000

 a induct  tcp 0.0.0.0:4556 tcpcli

 a outduct tcp 10.0.1.3:4556 tcpclo (or ‘’)

12©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

contacts.ionrc

Old Add

 a range +0 +1000 2 3 1a range +0 +1000 3 2 1a contact +0 +1000 2 3 1000000a contact +0 +1000 3 2 1000000

Note: do NOT screw up and make this “3 3”:• Node 2 will be able to send to node 3 but node 3 won’t be 

able to get to node 2• It’ll take you a long time to figure out where the error is

13©2020 The MITRE Corporation. All rights reserved. Approved for public 

release. Distribution unlimited 19‐03234‐4.

CORE Scenario Directory Structure and Scripts

14©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

Notes on What’s CORE and what’s ION

• There’s a lot of infrastructure in the DTN DevKit that manages ‘automatically’ starting ION on the various nodes

• As you may have noticed from my difficulties starting everything up by hand…

15©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

NAS

A_ION_C

ourse

Common

nodeSetup.sh

generalSetup.sh

Scenario (e.g. Exercise2B)

Scenario.imn

common Link

CORE_IONConfig.sh

generalParams.sh

nodeSetup.shgeneralSetup.sh

Config

nx.ionrc nx.bprc

nx.ltprc nx.ipnrc

contacts.ionrc

n1, n2, … link

nodeParams.sh

nodeSpecificSetup.sh

generalSetup.sh

16©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.

In the Node Services in CORE, the UserDefined Service runs generalSetup.sh

17©2020 The MITRE Corporation. All rights reserved. Approved for public release. Distribution unlimited 19‐03234‐4.


Recommended