Given the increasing number of space-related applications, research in the emerging space industry is becoming more and more attractive. One compelling area of current space research is the design of miniaturized satellites, known as Cube-Sats, which are enticing because of their numerous applications and low design-and-deployment cost. The new paradigm of connected space through CubeSats makes possible a wide range of applications, such as Earth remote sensing, space exploration, and rural connectivity. CubeSats further provide a complementary connectivity solution to the pervasive Internet of Things (IoT) networks, leading to a globally connected cyber-physical system. This paper presents a holistic overview of various aspects of CubeSat missions and provides a thorough review of the topic from both academic and industrial perspectives. We further present recent advances in the area of CubeSat communications, with an emphasis on constellation-and-coverage issues, channel modeling, modulation and coding, and networking. Finally, we identify several future research directions for CubeSat communications, including Internet of space things, low-power long-range networks, and machine learning for CubeSat resource allocation.