CS3205 - Introduction to Computer Networks

Course Data :

Note: This is a UG-only elective course.


Concepts and implementation of computer networks; architecture, protocol layers, inter-networking and addressing; network application development.

Course Contents:

  1. Introduction to Computer Networking Concepts: Layered Network Protocol Architectures; Personal, Local, Metropolitan and Wide Area Networks; Telecommunications and Cellular Networks overview.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. Application Layer: Socket Interface and Socket programming; Example protocols such as DNS, SMTP, FTP, and HTTP.
  8. Advanced topics on some of the recent trends in Computer Networks, depending on time availability.
  9. Programming assignments based on the theoretical concepts must be part of the course, with 25% weightage towards course grade.

    Text Books:

    (Any one of these will suffice)
    • Kurose and Ross, "Computer Networking - A top-down approach", Seventh Edition, Pearson, 2017.
    • Andrew S. Tanenbaum, "Computer Networks", Fifth Edition, Pearson Education India, 2013.
    • Peterson and Davie, "Computer Networks, A Systems Approach'', 5th ed., Elsevier, 2011.

    Reference Books:

    • Ying-Dar Liu, Ren-Hung Hwang, Fred Baker, "Computer Networks: An Open Source Approach", McGraw-Hill, 2011.
    • W. Richard Stevens, Bill Fenner and Andrew Rudoff, "Unix Network Programming", Volumes 1 and 2, Third Edition, Addison-Wesley Professional, 2003.
    • Michael Donahoo, Ken Calvert, Pocket Guide to TCP/IP Socket Programming in C, Morgan Kaufmann Series in Networking, 2000.




Credits Type Date of Introduction
3-0-0-6-3-12 Elective Nov 2017

Previous Instances of the Course

© 2016 - All Rights Reserved - Dept of CSE, IIT Madras
Website Credits