The viewpoint is that communication networking is about efficient resource sharing. The focus is on the three building blocks of communication networking, namely, multiplexing, switching and routing. The approach is analytical, with the discussion being driven by mathematical analyses of and solutions to specific engineering problems. The result? A comprehensive, effectively organized treatment of core engineering issues in communication networking. Written for both the networking professional and for the classroom, this book covers fundamental concepts in detail and places design issues in context by drawing on real world examples from current technologies. Systematically uses mathematical models and analyses to drive the development of a practical understanding of core network engineering problems. Provides in-depth coverage of many current topics, including network calculus with deterministically-constrained traffic, congestion control for elastic traffic, packet switch queuing, switching architectures, virtual path routing, and routing for quality of service. Includes over 200 hands-on exercises and class-tested problems, dozens of schematic figures, a review of key mathematical concepts, and a glossary.