# DTN and Non-DTN Routing Protocols for Inter-CubeSat Communications: A comprehensive survey
## 3 Routing Protocols in Connected CubeSat network
### Single-Layer Routing for Satellite Networks  
Satellites in the single-layer networks are usually disseminated on one orbit at different altitudes. Most of the small satellite swarms and constellations are deployed into the LEO layer that is characterized by high-speed satellites, a short round-trip time, and short contact times between satellites and ground stations. In addition to these characteristics, the Nano-satellites have limited resources, such as energy, low antenna performance, and limited storage. Single-layer routing protocols are categorised based on two strategies, namely: (i) virtual topology; and, (ii) virtual node. The virtual topology-based routing protocols are dependent on the principle of a'space-time-graph', where the satellite network can be considered over a certain period with this period and then divided into time slots, each of which will represent a static snapshot of the network topology at that time slot. This provides a complete picture of the network with a large number of two-dimensional (2D) network topology snapshots. Thus, defining paths between any pair of nodes will be determined over time while using the current static snapshot topology knowledge as well as the future consecutive static topologies. However, in general, there is no great difference in the topology of connectivity of two consecutive snapshots. The second strategy, virtual node-based routing protocols, considers the connectionless datagram delivery [35]. The movement of a satellite over its orbit is represented by filling the current logical position with the information of the next satellite traveling on the same orbit where it is assumed that the earth is covered with a grid that indicates the logical location of each satellite (node) according to the satellite longitude and latitude. This strategy is based on removing the dynamic component of the satellite network. Hence, the network is represented as a fixed topology that considers the logical locations, as hops and any routing decisions will be made accordingly. Table 2 summarizes the currently proposed techniques for both virtual topology and virtual node of single-layer routing. Discrete Time-Dynamic Virtual Topology Routing (DT-DVTR) is an ATM-based connection-oriented routing scheme for LEO Satellite Personal Communication Networks (S-PCN) that confirms the feasibility of ATM application in LEO [20]. DT-DVTR is a baseline routing technique that uses a'space-time-graph' for modelling the network connectivity, where each time interval represents a static network topology at that time. Correspondingly, all of the available paths can be discovered over the consecutive topology snapshots. Eventually, DT-DVTR runs the [PERSON] shortest path algorithm to find all of the least-cost paths. However, it is assumed that satellites always have periodic movement and, hence, the acquired topology snapshots from one cycle do not change in the next cycle. Although this assumption could be realistic for S-PCNs, the network topology is not always fixed. This is because of the CubeSats restricted resources, meaning that, where a CubeSat fails to continue its mission, the network topologies will be changed over time, especially as a CubeSat cannot maintain its trajectory due to the neutral drag and the lack of altitude and stability control. A Finite State Automaton (FSA) algorithm was proposed for LEO satellite mobile communication networks to address the mentioned issue of DT-DVTR. The FSA algorithm aims to take full advantage of the ISL assignment by modeling the dynamic topology as a finite state machine, where each state represents a single static topology [21]. The FSA combined the problem of routing with that of link assignment and simplified the link assignment problem in the dynamic satellite network to a group of static topology link assignment problems. Subsequently, the single state link assignment problem is solved as a mixed-integer linear programming problem.