A method for routing data packets in a satellite-based, wireless network, the method comprising:
- maintaining at a terrestrial client a table of known satellites, wherein the table is operable to store an address for each known satellite client in the table;
- establishing a temporary route between the terrestrial client and an earth-station server configured to transmit data packets to a secondary network through a first satellite client in a plurality of satellite clients;
- pinging a second satellite client;
- measuring a response latency of the first satellite client;
- determining, based on the measured response latency, whether the second satellite client has a predetermined reliable time-to-live;
- wherein, if the satellite client is determined to have the reliable time-to-live, initiating a normal handoff to the second satellite client;
- and
- wherein, if the first satellite client is determined not to have the reliable time-to-live, initiating a survival-mode handoff.