Lectures: Slot 5: Wednesdays and Fridays, 9:30-11:55 am, Venue: CC103.
Instructor: Mythili Vutukuru (mythili @ cse.iitb.ac.in)
Instructor Office Hours: By appointment (please send email to fix up a time).
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, and 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||July 19 (Wed)||Introduction. Course logistics. Layering abstraction. Network architecture and protocols.||lec01.txt|
|2||July 21 (Fri)||Packet switching vs. circuit switching. History of networking.|| lec02.txt
Example pcap file
| Demo: simple packet capture and inspecting packet
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||July 26 (Wed)||Performance of networks: delay and throughput.||lec03.txt|
|4||July 28 (Fri)||Application layer: HTTP||lec04.txt|
|5||Aug 2 (Wed)||Socket Programming|| lec05.txt
A sample tutorial on socket programming and a sample tutorial on event-driven I/O using epoll. You can find several more online.
Example socket programs: client and server
|Programming Assignment 1: Socket Programming. Due Aug 20, 11:55 pm.|
|6||Aug 4 (Fri)||Application layer: DNS, CDNs, server design.|| lec06.txt
Handling Flash Crowds from your Garage explains various techniques to design high performance servers.
|7||Aug 9 (Wed)||Application layer: SMTP, web services, P2P.||lec07.txt|
|-||Aug 11 (Fri)||Quiz 1 / Help session for programming assignment 1.|
|8||Aug 16 (Wed)||Introduction to the transport layer: UDP and TCP.||lec08.txt|
|9||Aug 18 (Fri)||Reliability and congestion control in TCP.||lec09.txt||10||Aug 23 (Wed)||More on TCP.||lec10.txt|
|11||Aug 30 (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.
|Programming Assignment 2: Understanding TCP. Due Oct 1, 11:55 pm.||12||Sep 1 (Fri)||Network layer: introduction.||lec12.txt||13||Sep 6 (Wed)||Network layer: details.||lec13.txt||-||Sep 8 (Fri)||Midsem review.||14||Sep 20 (Wed)||Routing protocols.||lec14.txt||15||Sep 22 (Fri)||Interdomain routing.||lec15.txt||16||Sep 27 (Wed)||BGP: advanced topics.||lec16.txt||BGP Demo||-||Sep 29 (Fri)||Midsem paper discussion.||17||Oct 4 (Wed)||Router architecture.||lec17.txt||18||Oct 6 (Fri)||Resource allocation and QoS||lec18.txt||-||Oct 11 (Wed)||Quiz 2|
|19||Oct 13 (Fri)||Link layer: introduction.||lec19.txt||-||Oct 18 (Wed) and Oct 20 (Fri)||NO CLASS||Programming Assignment 3: Distance Vector Routing. Due Nov 7 (Tue) 11:55 pm.|
|20||Oct 25 (Wed)||Link layer: multiple access protocols.||lec20.txt|
|21||Oct 27 (Fri)||Link layer: switching, VLANs, MPLS.||lec21.txt||22||Nov 1 (Wed)||Physical layer: overview.||lec22.txt||23||Nov 3 (Fri)||Looking ahead: some recent advances.||lec23.txt||-||Nov 8 (Wed)||Course wrap-up, endsem review.|