Note: This is a UG-only elective course.
Objectives:
Concepts and implementation of computer networks; architecture, protocol layers, inter-networking and addressing; network application development.
Course Contents:
- 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.
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.