Communication Challenges and Solutions in the Smart Grid