The research in the emerging space industry is becoming more and more attractive, given the increasing number of space-related applications. One primary entity of current space research is the design of miniaturized satellites, known as CubeSats, due to their numerous applications and low design and deployment cost. The new paradigm of connected space through CubeSats enables a wide range of applications such as Earth remote sensing, space exploration, and rural connectivity. CubeSats further provide a complimentary 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 different aspects of CubeSat missions, and provides a thorough review on the topic, both from academic and industrial perspectives. We further present the recent advances in the area of CubeSats communications with an emphasis on constellation and coverage issues, channel modeling, modulation and coding, and networking. The paper finally identifies several future research directions on CubeSats communications, namely Internet of space things, low power long range networks, machine learning for resource allocation in CubeSats, etc.