Application-Layer Techniques for Data Communications over Deep Space Networks