Way back in 2006, as a CS major with networking emphasis, I did a summer internship at NASA APL (Applied Physics Laboratory) My task was to modify Linux networking stack to simulate deep space communication packet loss and throttling. Then to implement something called Bundle protocol over UDP and run a lot of throughput simulations.
The idea was to maximize data throughput between Mars and Earth by routing data packets from the rovers to the orbiters because the orbiters circled every 90 minutes and the rovers had to wait hours for Mars to rotate to get line of sight with Earth. Also, some orbiters can send at higher throughput than others.
It was a fun project but way over my head at the time. I do remember walking into mission control a few times and ESPN was playing on the big screen. World cup was going on that summer.