The engineering vision of relying on the "smart sky" for supporting air traffic and the "Internet above the clouds" for in-flight entertainment has become imperative for the future aircraft industry. Aeronautical ad hoc Networking (AANET) constitutes a compelling concept for providing broadband communications above clouds by extending the coverage of Air-to-Ground (A2G) networks to oceanic and remote airspace via autonomous and self-configured wireless networking amongst commercial passenger airplanes. The AANET concept may be viewed as a new member of the family of Mobile ad hoc Networks (MANETs) in action above the clouds. However, AANETs have more dynamic topologies, larger and more variable geographical network size, stricter security requirements and more hostile transmission conditions. These specific characteristics lead to more grave challenges in aircraft mobility modeling, aeronautical channel modeling and interference mitigation as well as in network scheduling and routing. This paper provides an overview of AANET solutions by characterizing the associated scenarios, requirements and challenges. Explicitly, the research addressing the key techniques of AANETs, such as their mobility models, network scheduling and routing, security and interference are reviewed. Furthermore, we also identify the remaining challenges associated with developing AANETs and present their prospective solutions as well as open issues. The design framework of AANETs and the key technical issues are investigated along with some recent research results. Furthermore, a range of performance metrics optimized in designing AANETs and a number of representative multi-objective optimization algorithms are outlined.