CS3205: Introduction to Computer Networks [Holi'22]
Current Offering: Holi'22 (Jan - May, 2022)
Instructor: Ayon Chakraborty
Teaching Assistants: TBD
Concepts and implementation of computer networks; architecture, protocol layers, inter-networking and addressing; network application development.
Introduction to Computer Networking Concepts: Layered Network Protocol Architectures; Personal, Local, Metropolitan and Wide Area Networks; Telecommunications and Cellular Networks overview.
Physical Layer: Basics of communications; Physical media types and their important bandwidth and bit-error-rate characteristics; Wired and Wireless media including copper cables, optical fiber and wireless.
Data Link Layer and Logical Link Control (LLC) sub-layer: Framing; Error control including Bit-parity, CRC and Hamming Codes; Reliable transmission and Automatic Repeat Request (ARQ) protocols including Stop-and-Wait, Go-back-N, Selective Repeat. Performance analysis of ARQ protocols. Example protocols such as HDLC and PPP.
Medium Access Control (MAC) sub-layer: Shared media systems; Bus, Star and Ring topologies; TDMA, FDMA, CSMA, CSMA/CD, Ethernet and IEEE 802.3; IEEE 802.11 including CSMA/CA protocols; Performance analysis; Shared and Switched Ethernet; Related protocols such as ICMP, NAT, ARP and RARP.
Network Layer: Internet Protocol (IP) suite; Hierarchical network architectures; IPv4 and IPv6 addressing and headers; Routing protocols including distance-vector and link-state approaches; Interior and Exterior Gateway Protocol concepts; Routing Algorithms including Dijkstra's algorithm and distributed Bellman-Ford algorithm; Example protocols: OSPF, RIP, BGP.
Transport Layer: Reliable end-to-end transmission protocols; UDP header; Details of TCP header and operation including options headers and congestion control; TCP variants such as Reno, Tahoe, Vegas, Compound and CUBIC.
Application Layer: Socket Interface and Socket programming; Example protocols such as DNS, SMTP, FTP, and HTTP.
Advanced topics on some of the recent trends in Computer Networks, depending on time availability.
Books:
Andrew S. Tanenbaum, "Computer Networks", Fifth Edition, Pearson Education India, 2013.(primary reference)
Kurose and Ross, "Computer Networking - A top-down approach", Seventh Edition, Pearson, 2017. (additional reference)
Peterson and Davie, "Computer Networks, A Systems Approach'', 5th ed., Elsevier, 2011. (additional reference)
Grading:
It is the student's responsibility to attend all lectures and get in touch with the instructor/TAs as needed.
There will be 1 mid-term examination (20%), 1 end-semester examination (40%) and 4-5 programming assignments/homeworks (40%).