A Distributed Delay Tolerant Data Transfer Protocol for ISTSAT-1
Total Page:16
File Type:pdf, Size:1020Kb
A distributed delay tolerant data transfer protocol for ISTSAT-1 Pedro Miguel Pereira Eugénio Andrea Gameiro Thesis to obtain the Master of Science Degree in Bologna Master Degree in Telecommunications and Informatics Engineering Supervisors: Prof. Rui Manuel Rodrigues Rocha Dr. Gonçalo Lopes Examination Committee Chairperson: Prof. Ricardo Jorge Fernandes Chaves Supervisor: Prof. Rui Manuel Rodrigues Rocha Member of the Committee: Prof. Fernando Henrique Côrte-Real Mira da Silva December 2018 Resumo Um cubesat é um pequeno satélite artificial, de baixo custo, criado para efeitos de investigação cientí- fica espacial, que se tornou muito popular na comunidade científica. O ISTSAT-1 é o primeiro cubesat a ser desenvolvido no Instituto Superior Técnico (IST), com um tamanho de 10x10x10cm, respeitante a especificação cubesat 1U. As comunicações espaciais oferecem desafios diferentes daqueles encontrados em Terra. As ligações são tipicamente de baixo débito, com grandes atrasos e as disrupções podem ser frequentes. Tudo isto motivou a criação de protocolos Delay Tolerant (DT), uma arquitectura desenhada para lidar com os problemas característicos de ambientes disruptivos. No entanto, mesmo com protocolos Delay Tolerant (DT), a transmissão de ficheiros de elevada dimensão pode ser difícil. Isto é especialmente verdade no caso dos cubesats, que devido às baixas órbitas em que são colocados, sofrem de longos períodos de disrupção nas suas ligações com as estações de rádio em Terra. Com este projecto é proposta uma solução mais adequada. A criação de um protocolo Delay Toler- ant (DT) distribuído, capaz de realizar as tarefas já presentes nos restantes protocolos Delay Tolerant (DT), mas onde uma única transmissão pode ser distribuída por diferentes dispositivos (como satélites e estações de rádio em terra), aumentando assim o número de ligações, reduzindo os períodos de disrupção e melhorando assim o desempenho das transmissões espaciais. Palavras chave: IST, nanosat, LEO, ISTSAT-1, distribuído, DT ii Abstract A cubesat is a very small, low cost, artificial satellite designed for space research purposes, very popu- lar in the academic community. The ISTSAT-1 is the first cubesat being developed in Instituto Superior Técnico (IST), with a size of a 10x10x10cm cube respecting the 1U cubesat standard. In space communications one finds different challenges from the ones on Earth. Links are typically un- stable, of low debit, of high delay and disruptions can be frequent. This motivated the creation of Delay Tolerant (DT) protocols, an architecture designed to deal with the characteristic problems of disruptive environments. However, even with DT, the transmission of big data files can be difficult. This is specially true in the case of cubesats. Due to their Low Earth Orbit (LEO) deployment, cubesats suffer from very long disruptions periods with the ground-stations on Earth. With this project we intend to create an enhanced solution. A distributed DT protocol capable of perform- ing the normal DT tasks, but in a manner where a single transmission can be distributed over different devices (like ground-stations or satellites), thus increasing the number of links, reducing the disruptions time periods and increasing the much needed performance of space transmissions. Keywords: IST, nanosat, LEO, ISTSAT-1, distributed, DT iii iv Contents Resumo . ii Abstract . iii Contents . iv List of Tables . vii List of Figures . viii Glossary xi Acronyms xv 1 Introduction 1 1.1 Motivation . 2 1.2 Objectives and challenges . 3 1.3 Research contributions . 4 1.4 Document structure . 4 2 State of the art 5 2.1 DTN................................................ 5 2.2 Saratoga . 8 2.3 SCPS-TP . 10 2.4 T-CSP . 11 2.5 Comparison . 13 3 Architecture 15 3.1 Application scenarios . 15 3.1.1 One-to-one transmissions . 15 3.1.2 Multi-to-one transmissions . 16 3.1.3 One-to-multi transmissions . 17 3.1.4 Distributed transmissions . 18 3.2 Requirements . 19 3.3 Protocol . 20 3.3.1 Messages . 20 3.3.2 Algorithm . 22 v 3.4 Application Scenarios operations . 24 3.4.1 One-to-one transmissions . 24 3.4.2 Multi-to-one transmissions . 25 3.4.3 One-to-multi transmissions . 25 3.4.4 Distributed transmissions . 26 3.4.5 POCKET++ . 28 4 Implementation 29 4.1 Software Architecture . 29 4.1.1 Multi platform . 31 4.1.2 Linux . 32 4.1.3 OMNET . 33 4.1.4 Multi Network stack . 33 4.1.5 Data structures . 34 4.2 Programming language selection . 36 4.3 Build tools . 37 4.4 Code Analysis . 37 4.4.1 Static . 37 4.4.2 Dynamic . 37 4.5 Documentation . 37 4.5.1 Software reference . 38 4.6 Source Code Version Control . 38 4.7 Testing . 38 4.8 Development Environment . 39 5 Experimental evaluation 41 5.1 One to one . 42 5.1.1 One to one - Delay tolerant . 43 5.2 Multi to one . 45 5.3 One to multi . 45 5.4 Distributed . 47 5.5 Compression . 48 6 Conclusion and future work 51 Bibliography 53 vi List of Tables 2.1 Comparison of the existing solutions . 13 5.1 One to one transmission . 42 vii viii List of Figures 1.1 ADS-B System . 2 1.2 ISTSAT-1 Distributed transmission . 3 2.1 Store and Forward . 6 2.2 DTN stack . 7 2.3 DTN transmission comparison . 7 2.4 Mars network . 8 2.5 Saratoga Message Sequence Chart . 9 2.6 Saratoga stack . 10 2.7 Saratoga STATUS message . 10 2.8 T-CSP segment over CSP packet . 12 2.9 T-CSP transmission example . 12 3.1 One to one transmission . 16 3.2 Multi to one transmission . 17 3.3 Multicast transmission . 18 3.4 Distributed transmission . 19 3.5 DDTP Message types . 21 3.6 DDTP sender process state machine . 23 3.7 DDTP receiver process state machine . 23 3.8 MSC One-to-one transmission . 24 3.9 MSC Multi-to-one.