This book results from many years of teaching an upper division course on communication networks in the EECS department at University of California, Berkeley. It is motivated by the perceived need for an easily accessible textbook that puts emphasis on the core concepts behind current and next generation networks. After an overview of how today's Internet works and a discussion of the main principles behind its architecture, we discuss the key ideas behind Ethernet, WiFi networks, routing, internetworking and TCP. To make the book as self contained as possible, brief discussions of probability and Markov chain concepts are included in the appendices. This is followed by a brief discussion of mathematical models that provide insight into the operations of network protocols. Next, the main ideas behind the new generation of wireless networks based on WiMAX and LTE, and the notion of QoS are presented. A concise discussion of the physical layer technologies underlying various networks is also included. Finally, a sampling of topics is presented that may have significant influence on the future evolution of networks including overlay networks like content delivery and peer-to-peer networks, sensor networks, distributed algorithms, Byzantine agreement and source compression.