With the ongoing trends in the energy sector such as vehicular electrification and renewable energy, the Smart Grid (SG) is clearly playing a more and more important role in the electric power system industry. One essential feature of the SG is the information flow over high-speed, reliable, and secure data communication networks in order to manage the complex power systems effectively and intelligently. SGs utilize bidirectional communication to function whereas traditional power grids mainly only use one-way communication. The communication requirements and suitable techniques differ depending on the specific environment and scenario. In this paper, we provide a comprehensive and up-to-date survey on the communication technologies used in the SG, including the communication requirements, physical layer technologies, network architectures, and research challenges. This survey aims to help the readers identify the potential research problems in the continued research on the topic of SG communications.