Commit 73bb3508 authored by Boris Pilka's avatar Boris Pilka

Merge branch '50-Improve_README' into 'master'

#50 Resolve "Improve README"

Closes #50

See merge request !15

Former-commit-id: a9b92f00
parents 903c2508 50125996
......@@ -4,23 +4,18 @@ sudo apt install docker.io docker-compose
# Add user to docker group
usermod -a -G docker $USER
# Make sure your user is a part of docker group
grep docker /etc/group
docker:x:135:mpilka
# Build images
docker-compose build
# Logout and login for group change above to take effect
groups | grep docker
pydtn adm cdrom sudo dip plugdev lpadmin sambashare docker
# Start topology
# Note COMPOSE_HTTP_TIMEOUT is not needed with docker >= 1.16.0
# https://github.com/docker/compose/issues/3633
COMPOSE_HTTP_TIMEOUT=36000 docker-compose up
docker-compose up --build
# See pyDTN-1 logs
docker logs -f docker_pyDTN-1_1
# See pyDTN-2 logs
docker logs -f docker_pyDTN-2_1
docker logs -f docker_pyDTN-2_1
# See uPCN-1 logs
docker logs -f docker_uPCN-1_1
......
# Overview
This is the PoC (Proof of Concept) implementation of:
* [Bundle Protocol Version 7](https://tools.ietf.org/html/draft-ietf-dtn-bpbis-12)
* Send/receive a bundle
* Send bundle functionality is available via `REST` API, useful for testing
* Schedule contact functionality is available via `REST` API, useful for integration with [µPCN](https://upcn.eu/)
* [Delay-Tolerant Networking TCP Convergence-Layer Protocol](https://tools.ietf.org/html/rfc7242)
* Send/receive contact headers
* [DTN IP Neighbor Discovery (IPND)](https://tools.ietf.org/html/draft-irtf-dtnrg-ipnd-03)
* Send/receive a beacon, code exists, integration in progress, see %2 milestone
# Use Case
![current_state](doc/readme/current_state.png)
1. `pyDTN-2` receives `REST` request to schedule contact: `pyDTN-2.dtn` is available on `172.25.1.11:2002`
1. `pyDTN-2` schedules contact with `uPCN`, note following issues:
* Proprietary (not part of any draft) `uPCN` config bundle is used
* `pyDTN-2` receives `uPCN`'s IP address/port on a [command line](https://git.ifne.eu/space-public/pyDTN/blob/master/docker/docker-compose.yml#L39)
1. `pyDTN-1` receives `REST` request to send a bundle to `pyDTN-2`
1. `pyDTN-1` sends bundle to `uPCN`, note following issues:
* `pyDTN-1` receives `uPCN`'s IP address/port on a [command line](https://git.ifne.eu/space-public/pyDTN/blob/master/docker/docker-compose.yml#L20)
* IP address/port is then set (kind of hard-coded) in [ipnd/httpd.py](https://git.ifne.eu/space-public/pyDTN/blob/master/ipnd/httpd.py#L42)
1. `uPCN` receives a bundle from `pyDTN-1` and immediately forwards it to `pyDTN-2`, note following issues:
* `uPCN` currently does not store any bundles, if destination is not available, bundle is simply dropped
Issues listed above will be solved as a part of %2 milestone.
# Try it yourself
See [HOWTO.txt](HOWTO.txt) (eventually will be integrated into this file)
<mxfile modified="2019-03-24T15:41:00.922Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/73.0.3683.75 Chrome/73.0.3683.75 Safari/537.36" etag="974iRFzm_IsnAKCbOAYh" version="10.5.4" type="device"><diagram name="Page-1" id="43d2112b-42d4-6ef0-ef21-dd1f29dee117">7Zpbc+I2FMc/DTPtA4wuli+PAZK03XQnM9mZ7j7tGCyMGmO5tkggn76SLWEbYy4pSbxdMpNEOrrY6Pz8PwdZPTxarG5TP5n/yQMa9RAIVj087iFkA9eV/5RlXVggggAUpjBlgTaWhgf2QrXRdFuygGa1joLzSLCkbpzyOKZTUbP5acqf691mPKpfNfFD2jA8TP2oaf2LBWJeWC1gPoZq+I2ycK4vbRHTMvGnj2HKl7G+YA/hWf5TNC98M5nun839gD9XTPi6h0cp56IoLVYjGqnlNetWjLtpad3ceEpjccwAR/vqyY+W1NyyHcmxw4A9yWKoisY0SbctcuZav/wzibVZSEFXyj4Xi0gaoCymNGMv/iTvAGTdXwqeFQCoZj9iYSzLEZ2pgU80FUz65UqbBU+kNUv8KYvDL6oy7lvSknAWi9zpZNgjY2mZ8VhosDDZ3Fp1YfRaqUvQVcWkF+qW8gUV6Vp2Ma3As4sxGuy+S1xv4LiOBzzXsYjlFc3PJTPGz/MqLdrma0rDzZVKR8mC9tVuv93+Edq/24/edDa6fkmePq3vw099aJGGB2ggydZVnoo5D3nsR9eldZjTSgPtj7LPHc/XV3nlbyrEWq+mcljdpXTFxFc9XJW/qfLAIbo6XlXaxmtTieUn/lrpqerfqo3luLxmBmYi5Y+bxxKCuq+hBfY5O+PLdEr3LSHUD4Tw05CKvYut3ahWeC8+KY18wZ7q2nJ+58P2R1ktUA0L+58lNw394vG7kh2kTierstU81sl6/OVzHw0CEbcrwcQYoIMGiAzgAMKKSkyO0pLiRlvEpARVUfc8Z4I+SCVQrc8yEtWhnLEoGvGIp/lYHPjUnU13sVLwVOlqT106mZ1HMqS+egOyJRrYcge2Eg3sOBBg3BAN19uhGrb3ZrKB7P1BYAc4Stj7WqwVOVO5RjRtomPmkZIdH0OguxNABACqUFJMdlIgem92tgPXhAvBF5UApxfsPJS5VpMyCxygDIMdlMG3C07I6ThlLnAvlLVThjH8ASgj9kemQKZ8agqEupQCYftHTYFweyA7SwoET0uBwE+dAlXyHbkQXcp3cNcjkcx34CUStUYiGzSi0AHC3jsK4QPbKh9OmMx1LoS1E0Zw9xHz3irW7dgA5EnWz3xRhD/wS2+EekNyP/r8axss7VuIjRiJ9sbIV08MXzXx/ykAm1bioTrMjg3tbu1A2NZHZu1gYBL1TfZ9TNLepZzd6MzhnN1s9pwvZ8+HXqWpv6500Dvy5cz3ylCh0vGa3yYJcpoie9MyA/JOnEEWirssQd183P+y6Q46Hustor4UX2J9mz7apKGPzgF9fO9gb1mtjCU7wYhYTPvm5vJYr95EkXbEjs0ZdiMGW+Pnxpy00iUXgCUZPUyWnyXF294ZWykam0g1+Ij8CY3uecYE47UGg9jdVocFC4I8umwzuGk4A3LY8nBDuhyI90MH8S7o8NtB176b0gno0AW6k94SII9sQ+e44IDSvTd0pD2adgI6coHutOBqQtdG5xB293+TfnfkSLeRwxfkTtq7gQ2Zcx3gdUzm2regO8GcdWHuJJmDLt6KrI5nd0vmbNh01EcdDjv6xWiX9ljI0UfDzPZ/V96L2ugjXQ9/JtebUy5dcT3Z9SZqiwW2yM9DV32Xy+xwc5i5skmjjzPjoR41ZotQ3lrEJvLvVAr/dz8VqsgXyVJKcybLd34iePIdInclfwdJHPYa+0Tq5+bmqBhwDsEmHtjOEjxw6B2PhXBTsvErJFtWyzPexU5keZYeX/8L</diagram></mxfile>
\ No newline at end of file
......@@ -5,6 +5,3 @@ FROM python:3
RUN apt-get update
RUN apt-get install -y python3-pip joe tcpdump
RUN pip install cbor cbor2 Flask waitress
# Expose the upcn port to allow communication
EXPOSE 4556
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA5SXA6Hfhyb3mML1NUoTgCh9PSL8x8PSPI25d7EO7LHphupjM
6/xrUNNaxBdEVIhVLCfRlrB5X2gPsmDUSBr/DHq5BQkEgtrhjmaaJuq2XkKJe/Ip
s3cYx+u9X7MARwvLLkDYk3NSm/7afdiSB7jFu6yd9Vz2/+c4eFE67zmjYe6xy0NJ
1yISC7/gjY5YY8vTzAFBUYtKWybAMa9RXhiVdtWB+8Y98DRnB/DGW3ywN4rc+xYv
34QXt+EzcMK+Y1Uug8SNRANrgREj8WAfxLgsEdBdGQpS+l03fP7/begI/KT9MTJF
zLWSxRSsZKVl04Z1uqCOWlstyrsz3mookaR7rwIDAQABAoIBAQDRvfvUDR8zfMl9
ZVioJo23Vi9JBBCfYArAwJ3hy6FAtghMNt6jRpmoEr1q7W0S/vMPBqd2CbQe2u47
NRw5n9RCRPajoDxr1hNNN6bz5jTlFHwpYmA/L80T+TiOpxai8S2Z+asDVDSSKvUs
6ZXI0ZzUCs1OsDg5xhfPMXMDUzu0P39ABZZ7mZbf1OPnOvSNbEzOlYb0Hfe3EUQL
dS3Cd/T+oPn5Cu0I5s8MjJJ/v5hx1gD+y9nQPb7tKxxuG3Zm3ihuGXyDDiwduoAJ
iUpDn3XkExnXErHGCYLsnx+GAZIm2RbcHuja5nzg32z7sDtpKUCwOmmddGp+XgTk
H8NUfhqJAoGBAPRXFL5GwBadqb07W0b4rxvrZUhOcHDQD7bMhRZNS04bpKcqEVM3
prj9Jsoydb5b0ro3JUGO8+sFuifPuHWTouvK5IkTB6Df/xYhPqYGMh8w6JYTClcB
7yBvkOcCu86+adeMXGqJNr1LK3ZXglOfkQNMMA0qFAt1K0tHndxHEJQdAoGBAPAV
EzEolglEnXKF1oNxS+q2otZDPROaj2HeJ4y8bJyOYXbeKgt74+pP0ru9VpyAFoF6
FjxQJZc9r36tmaOg5ll+MRf+sytP18OQt5w7I3MehEHwF5SW1Dn6VRdIbPZBGiNz
DyYl3B2oHoFkESE13RI3bO7vPVlHx6etqk8ZKm07AoGAZRHkVbTkXjaHcOwtnJTf
sjfT5G312uRlq6K75nbAkKWknTUsh3S8tUaaFgd7ZuuKplaLRawBP5VV5IPq9E/G
k6yQjhbeD/C4Dopf5MMpVnefrfxgSY9WP9+GW9hooWNoWq4HyFXL289NQh1+nmKh
1HBebAOc2QR1jSUpqmWG+Q0CgYEA4Gzi/u4QquNAR0EDUOYE8Ij/2UkLfBrcc8Em
uXGeGg8i3uo45XlPicZKmQMaRruZzjkhNgo5yZJ5TfLcD1CmY/wJyoNmW1OMv5y1
ds71iXR6b+UPNfB0vSnchyJF8UDUPVUeUSvNAtAYjB3NwXzHhnLXWte7Qo1N/tnh
vYUp2ucCgYAcOLBUzGoMfPgL+mCS+4PZEUXpVA8xHfrTupKsHin+sgXkv1aqOiK9
3rfOJAZYm39oo5t9wMkvDTP+OnM7mBAQGVbTJT4KxPdIjmmx82/AqgVYdacR5JZZ
yvZV0LeCECPtMLFqKPm7OnEPGaiLHFo2ppKGKlmUNiMvEKTahs786w==
-----END RSA PRIVATE KEY-----
\ No newline at end of file
......@@ -25,11 +25,8 @@ RUN apk add -U tzdata && \
echo "Europe/Berlin" > /etc/timezone && \
apk del tzdata
# change workdir
# Change workdir
WORKDIR /bin
# expose the upcn port to allow communication
EXPOSE 4556
# run upcn
# Run upcn
CMD ["upcn"]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment