Computer Networks

Internet has become an integral part of our lives. But how does it work? In this course, we will delve into the underlying building blocks and importantly the principles that drive the design. Important concepts will be reinforced by hands-on lab exercises and quizzes. Emphasis on the “hows and whys” will prepare you better to handle the ever-changing field of networking!

Syllabus

Chapter 1: Introduction
This chapter presents the high level picture and how the complex task of communication can be broken down into manageable layers via the Internet protocol stack. It introduces some core concepts and how performance can be quantified via metrics.
Chapter 2: Physical Layer
This chapter introduces the basic components needed for communication and further delves into how bits can be converted into signals (Modulation) that traverse links.
Chapter 3: Link Layer
This chapter covers how to provide frame-by-frame reliable delivery to neighboring nodes as well as how to share media (Media Access Control, MACs) and how to route frames to neighbors (Switching). It also introduces some link-layer technology: Ethernet and WiFi.
Chapter 4: Network Layer
This chapter introduces internetworking and how to deliver packets end to end across heterogeneous networks. It delves into the Internet Protocol (IP) as well as various Intra/inter-domain routing protocols that let Internet scale.
Chapter 5: Transport Layer
This chapter covers how segments are delivered to an end user-application process. Specifically the simpler UDP and more complex TCP protocol (that provides reliability, flow and congestion control) are covered.
Chapter 6: Application Layer
This chapter explores a variety of applications, Web, email and peer-to-peer file sharing that utilize the above realized underlying architecture. It also covers the Domain Name System (DNS), a core Internet service that facilitates Internet access
Chapter 7: Lab Material
This chapter contains lab exercises as well as the necessary material (videos, slides, references) related to them. Specifically, you will explore various tools/commands (ethtool, ip, dig, arp etc), packet sniffers (Wireshark, Tcpdump); network simulators (NS3), virtual networking environments (VNX) and socket programming.
Level
Undergraduate
Prerequisites
C++, Data Structures (for labs)
Category
Self-paced
Estimated Time
80 hours

Meet the instructor

Cinque Terre
Kameswari Chebrolu
Kameswari Chebrolu is currently an associate professor with the Department of Computer Science and Engineering at the Indian Institute of Technology, Bombay, India. She received her Ph.D. degree in Electrical and Computer engineering from the University of California at San Diego in 2004. She is passionate about teaching and likes to experiment with various techniques to improve learning. She has been a recipient of the “IIT Bombay Excellence in Teaching” award in 2010.

The focus of Kameswari's research work is on developing cutting-edge technology for real-world use. In the past, she has worked on projects aimed at providing Internet access to rural villages, enabling voice communication in remote tribal areas, monitoring the health of railway bridges. Currently she is focused on developing smart educational technology, AI-human-hybrid technology that caters to the information needs of bottom of the pyramid and countering fake news on social media, specifically on Whatsapp.