In recent years, with the spread of IoT services and the amount of data on the network, the importance of D2D communications has emerged in unloading the network, reducing data access time, and improving performance. Due to this importance, in this article, we have reviewed the latest D2D communication solutions in the recent period. Authors proposed categorizing D2D communication solutions into six categories: M2M, V2V, and D2D in cellular networks, D2D with a caching assistant, D2D in socially aware networks, and D2D based on ICN. Writers examined the proposed solutions in each area, elaborating on the methodology employed, the evaluation, the benefits and drawbacks of each proposal. Moreover, based on the study of the presented solutions, we feel that cellular networks and ICN are the most effective for D2D communications, particularly when awareness and social relationships are incorporated into them. We believe that the review presented in this paper will be useful sufficient for developers, researchers as a reference guide to facilitate the design and implementation of D2D communication solutions.