CS 348M Computer Networks (Minor)

Spring 2015

Lectures: Slot 5: Wednesdays and Fridays, 9:30-11:55 am, LC 301.

Instructor: Mythili Vutukuru (mythili @ cse.iitb.ac.in)

Instructor Office Hours: By appointment (please send email to fix up a time).


  • Mid-semester exam on Fri Feb 20th 11:00-13:00. SIC 201/301. You are allowed to bring one A4-sized paper with handwritten notes. No other notes, books allowed.

Course Overview

The course will cover basic concepts of computer networking for students taking up computer science as their minor. The topics covered include the history and architecture of the Internet, popular applications, congestion control protocols, routing and switching, wireless networking. The course will also rouch upon some recent advances in the field of computer networking.


Textbooks: You may find the following textbooks useful to better understand the concepts taught in class, and for practice exercises. The course roughly follows the content structure of the textbook by Kurose and Ross.


Lecture# Date Topic Notes and References Activities before/during/after class
1 Jan 7 (Wed) Introduction. Course logistics. Layering abstraction. Network architecture and protocols. lec01.txt
2 Jan 9 (Fri) Packet switching vs. circuit switching. History of networking. lec02.txt

Example pcap file
Demo: simple packet capture and inspecting packet headers.

Download, install, and familiarize yourself with Wireshark before you come to class. Download and view the example pcap file in wireshark. Bring your laptop to class if possible so that you can follow the demo better.
3 Jan 14 (Wed) Performance of networks: delay and throughput. lec03.txt
4 Jan 16 (Fri) Application layer: HTTP lec04.txt Demo: Inspecting HTTP traffic in the example pcap file using Wireshark.
5 Jan 21 (Wed) Socket Programming lec05.txt

A sample tutorial on socket programming (you can find several more online)

Example socket programs: client and server
Quiz 1 covering lectures 1-3.

Socket Programming Assignment. The assignment itself need not be submitted and will not be graded. But you are strongly encouraged to solve it (alone or with the help of your friends), for your own satisfaction, and also because questions in quizzes and exams will test your understanding of socket programming.
6 Jan 23 (Fri) Application layer: DNS, CDNs. lec06.txt
7 Jan 28 (Wed) Application layer: SMTP, web services, P2P. lec07.txt
8 Jan 30 (Fri) Introduction to the transport layer. UDP. lec08.txt Quiz 2 covering lectures 4-7.
9 Feb 4 (Wed) Transport layer: basics of TCP. lec09.txt
10 Feb 6 (Fri) TCP details, variants. lec10.txt
11 Feb 11 (Wed) TCP analysis. lec11.txt

Sizing Router Buffers, Appenzeller et al.
Bufferbloat: Dark Buffers in the Internet, Gettys and Nichols.
The Macroscopic Behavior of the TCP Congestion Avoidance Algorithm, Mathis et al.
12 Feb 13 (Fri) TCP: recap and demo. Quiz 3 covering lectures 8-11.

Demo of TCP behavior from experiments and simulations.
13 Feb 18 (Wed) Mid-sem review.
14 Feb 27 (Fri) Mid-sem paper discussion. Resource allocation, fairness, QoS. lec14.txt
15 Mar 4 (Wed) Introduction to the network / IP layer. lec15.txt
16 Mar 11 (Wed) Network layer: advanced topics. lec16.txt
17 Mar 13 (Fri) Network routing protocols. lec17.txt
18 Mar 18 (Wed) Router architectures. lec18.txt Quiz 4 covering lectures 15-17.
19 Mar 20 (Fri) Interdomain routing: BGP. lec19.txt
20 Mar 25 (Wed) Interdomain routing: BGP. lec20.txt
Demo: APNIC Internet registry, BGP looking glasses.
Demo: understanding BGP routing tables.
21 Mar 27 (Fri) Link layer: introduction. lec21.txt Quiz 5 covering lectures 18-20.
22 Apr 1 (Wed) Link layer: multiple access protocols. lec22.txt
23 Apr 8 (Wed) Link layer: switching, VLANs, MPLS. lec23.txt
24 Apr 10 (Fri) Data center networking. lec24.txt
25 Apr 15 (Wed) Software defined networking. lec25.txt Quiz 6 covering lectures 21-24.
26 Apr 17 (Fri) End-sem review.