Somewhat comically J.C.R Licklider's first proposal for what became the internet was titled the Intergalactic Computer Network. He later said he did this because when the project is inevitably downsized it would at least cover the earth.
Interplanetary internet designs and peering are interesting problems to think about though.
There are real, standardized protocols [0] for this sort of thing, now. Early in my career, when I worked at JPL/NASA, I did a bit of work to test these protocols on Linux in a simulated Network of spacecraft. Fun stuff!
What a coincidence, I'm working on the core flight system project right now, which includes an implementation of CCSDS File Delivery Protocol. You might be happy to know that project is still very much alive within NASA (you were probably already aware).
Haha. Great to hear that work still lives! I hope you’re not using the (horrible in retrospect) stuff I wrote 15 years ago that worked on 2.0-2.6 kernels. I remember porting the network kernel driver from 2.0-2.2 manual build system to implementing a (really basic) Makefile that worked with 2.0-2.6.0ish kernels (which were newer at the time). I knew Scott Burleigh was still innovating CCSDS and other protocols at JPL, and, IIRC the work I had done had also been delivered to Ames and ESA for test lab use. I had some other work to create protocol dissectors for Ethereal (before the name change to WireShark). WireShark now includes built in dissectors for CCSDS, CFDP and others.
What does it use for time? The spec mentions time in a lot of places, but never defines it. There is even a field to communicate light-time but no mention of how to synchronize anything. I guess this runs on top of another protocol that solves it? Any idea what it is?
So, it’s been a while since I’ve dived in [0], but “time” as a dependency has been, what I would call, “engineered out of the system”. Instead, there’s concepts of (local) timers, Store-And-Forward Overlays, retries, communication opportunities and the overall realization that time is relative and synchronized time can be difficult at a protocol level when link-level distances are always changing (by miles to billions of miles at a time per communication opportunity).