Internet of Things (IoT) constitutes the next step in the field of technology, bringing enormous changes in industry, medicine, environmental care, and urban development. Various challenges are to be met in forming this vision, such as technology interoperability issues, security and data confidentiality requirements, and, last but not least, the development of energy efficient management systems. In this paper, we explore existing networking communication technologies for the IoT, with emphasis on encapsulation and routing protocols. The relation between the IoT network protocols and the emerging IoT applications is also examined. A thorough layer-based protocol taxonomy is provided, while how the network protocols fit and operate for addressing the recent IoT requirements and applications is also illustrated. What is the most special feature of this paper, compared to other survey and tutorial works, is the thorough presentation of the inner schemes and mechanisms of the network protocols subject to IPv6. Compatibility, interoperability, and configuration issues of the existing and the emerging protocols and schemes are discussed based on the recent advanced of IPv6. Moreover, open networking challenges such as security, scalability, mobility, and energy management are presented in relation to their corresponding features. Lastly, the trends of the networking mechanisms in the IoT domain are discussed in detail, highlighting future challenges.