{'fraction_non_alphanumeric': 0.0236318407960199, 'fraction_numerical': 0.0, 'mean_word_length': 5.236434108527132, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Source Routing Algorithm Based on CGR for DTN-Nanosatellite Networks

The number of nanosatellites orbiting around the Earth is increasing year after year. Nanosatellite constellations can be deployed to cover even larger areas. However, data exchange among nanosatellites is not trivial, especially due to the required hardware components related to the limited size and weight. Moreover, in some cases, contacts between nanosatellites and ground stations cannot always be guaranteed. The Delay and Disruption Tolerant Networking (DTN) paradigm allows storing data in nanosatellite and ground station buffers until the contact with the next hop is available. Routing in this kind of network is a crucial aspect. Delivery times are larger compared to a ``classical'' network due to the time that data have to wait inside intermediate node buffers and to the limitation of available resources, especially on- board nanosatellites. The adoption of a smart routing strategy can contribute relieving this gap. In this paper, we propose S-CGR, a Source routing algorithm based on the Contact Graph Routing (CGR). It computes a routing path from source to destination nodes for each bundle, which is the data unit in DTN networks. S-CGR considers static and known a priori information about contacts (begin times, end times, and overall contact volumes) and dynamic information about nanosatellite buffer occupancies and available contact volumes. The complete source/destination paths are stored in the bundles. Intermediate nodes read the routing instructions from the bundles without any computational effort.