Computer Networking : Principles, Protocols and Practice is an open-source ebook that explains the main principles of Computer Networking and the key protocols that are used on the Internet. The ebook is intended to be used for an upper-level undergraduate networking course. The first part describes the theoretical foundations of this domain as well and the main algorithms and protocols. The second part contains a detailed explanation of the main Internet protocols including HTTP, DNS, TCP, UDP, IPv6, BGP, RIP, OSPF, Ethernet and WiFi. The last part contains exercises and practical labs to allow the students to test their knowledge.