This course presents the main technological choices made in today's networks by operators, applications and services, and users, with an emphasis on the reasoning behind these choices. By the end of this course, students will be able to understand the factors that can affect the behavior of an application distributed across a network or the Internet, and to configure the main equipment of a network infrastructure. More importantly, students will master the ability to understand and reason about network logic, its protocols, and the trade-offs made every day in the implementation of a computer network.
By the end of this course, students will be able to:
- Explain the layered architecture of computer networks and the role of each layer.
- Compare reliable and unreliable transport mechanisms and their trade-offs.
- Describe how routing protocols determine paths and behave under failures.
- Understand shared medium access and link-layer coordination mechanisms.
- Explain the motivations behind Software Defined Networking.
- Identify common network security threats and mitigation mechanisms.
- Discuss the limitations of current Internet architectures and emerging alternatives.
- Configure and troubleshoot core network equipment in practical settings.