Class Timings: Monday, Wednesday (Section A: 11:30-12:20 pm and Section B: 12:20-1:10 pm)
Tuesday (Section B: 11:30-12:20 pm and Section A: 12:20-1:10 pm)
Venue: PF3
Piazza page: ITT351/home
Course Overview
In this course, we will cover the basic concepts and details of network implementation. In particular, we will have an in-depth study of various TCP/IP model layers via a bottom-up approach.
Course Outline
UNIT I - INTRODUCTION: History and development of computer networks, networks topologies. Layering and protocols.
UNIT II - PHYSICAL LAYER: Different types of transmission media, transmission errors: attenuation, noise. Encoding (NRZ, NRZI, Manchester, 4B/5B, etc.).
UNIT III - DATA LINK LAYER AND SWITCHING: MAC Layer: Aloha, CSMA, CSMA/CD, CSMA/CA protocols. Data Link Layer: Error detection (Parity, CRC), Sliding Window, Stop and Wait protocols. Framing, HDLC. Switching Theory: Circuit Switching, Message Switching, Packet Switching.
UNIT IV - NETWORK LAYER: Network layer: Internet Protocol, IPv6, ARP, DHCP, ICMP, Routing algorithms: Distance vector, Link state, Metrics, Inter-domain routing. Subnetting, Classless addressing, Network Address Translation.
UNIT V - TRANSPORT LAYER: UDP, TCP. Connection establishment and termination, sliding window revisited, flow and congestion control, timers, retransmission, TCP extensions, etc.
UNIT VI - APPLICATION LAYER: Session, Presentation, and Application Layers. Examples: DNS, SMTP, IMAP, HTTP, etc.
References: We will refer to multiple books and lectures over the duration of this course some of them are as follows:
Behrouz A. Forouzan, Data communications and Networking [BAF]
JF Kurose, KW Ross, Computer Networking: A Top-Down Approach [KR]
Larry Peterson and Bruce Davie, Computer Networks, A Systems Approach [PD]
William Stallings, Data & Computer Communications [WS]
Sandip Chakraborty, Soumya Kanti Ghosh, Computer Networks and Internet Protocol (NPTEL Course) [NPTEL]
Aaron Balchunas, CCNA Guides [AB]
Ajit Pal, Data Communications (NPTEL Course) [AP-NPTEL]
Grading Policy:
Major exam - 50%
Mid-Term exam - 26%
Assignment-based quizzes - 8%
General quizzes - 8%
Tutorials - 8%
Tutorials (To be submitted on Gradescope)
Quizzes
Quiz 1 (Assignment-based): Error detection and correction techniques. Date: 25 Feb
Quiz 2 (General quiz): Flow control. Date: 1 April
Quiz 3 (General quiz): IP Addressing. Date: 6 May
Here are the topics we covered in the class and the reference material we used.
Lec 1 (Feb 11): General introduction to the course, course outcomes, policies, and motivation. Recap of OSI model and TCP/IP model.
Lec 2 (Feb 16): Introduction to access control, motivation, random access protocols, pure Aloha. (Main source: Chapter 12 [BAF]) (Extra Source: Lec 25-27 [AP-NPTEL])
Lec 3 (Feb 17): Pure and slotted Aloha analysis: throughput formula, maximum throughput. (Main source: Chapter 12 [BAF]) (Extra Source: Lec 25-27 [AP-NPTEL])
Lec 4 (Feb 18): Motivation and working of CSMA, different persistent methods: 1-persistent, nonpersistent, p-persistent, motivation for CSMA/CD, minimum frame size, CSMA/CD algorithm, and its performance. (Main source: Chapter 12 [BAF]) (Extra Source: Lec 25-27 [AP-NPTEL])
Lec 5 (Feb 23): CSMA/CA: need and motivation, collision avoidance strategies, Hidden and exposed node problem, RTS-CTS solution, NAV. (Main source: Chapter 12 [BAF]) (Extra Source: Lec 25-27 [AP-NPTEL])
Lec 6 (Feb 24): Controlled access methods - reservation, polling access method and token passing with examples. (Main source: Chapter 12 [BAF]) (Extra Source: Lec 25-27 [AP-NPTEL])
Lec 7 (Feb 25): Channelization methods: FDMA, TDMA, CDMA - basic idea, working, properties of codes, generation of codes using Walsh tables. (Main source: Chapter 12 [BAF]) (Extra Source: Lec 25-27 [AP-NPTEL])
Lec 8 (Mar 9): Flow control and error control (ARQ), connection-oriented and connectionless protocols, piggybacking, FSM approach for protocols, Noiseless channel protocols - simple. (Main source: Chapter 11 [BAF], Chapter 11 [BAF 5th edition])
Lec 9 (Mar 10): Noiseless channel protocols - stop and wait, use of sequence number, sliding window. Protocols for noisy channels - Stop and Wait ARQ, FSM approach, flow diagram. (Main source: Chapter 23 [BAF 5th edition])
Lec 10 (Mar 11): Efficiency and link utilization, bandwidth-delay product, need for pipelining, Go Back N ARQ - basic idea, sequence and ACK numbers, sender and receiver window size, timers, FSM approach, flow diagram. (Main source: Chapter 23 [BAF 5th edition])
Lec 11 (Mar 16): Selective repeat - sender and receiver window size, ACKs and timer, working, FSM approach, flow diagram. (Main source: Chapter 23 [BAF 5th edition])
Lec 12 (Mar 17): Link utilization and throughput of stop and wait and sliding window protocols with numericals. (Main source: Chapter 23 [BAF 5th edition]).
Lec 13 (Mar 18): Framing: fixed and variable-size, character-oriented protocols, byte or character stuffing, bit-oriented protocols, bit stuffing; HDLC protocol: configuration modes. (Main source: Chapter 11 [BAF])
Lec 14 (Mar 23): HDLC protocol: configuration modes, types of frames: information, supervisory, unnumbered and their associated control fields, PPP basics, frame. (Main source: Chapter 11 [BAF])
Lec 15 (Mar 24): PPP components, authentication protocols: PAP, CHAP, MAC address. Switched communication networks, motivation, and types, circuit-switched networks. (Main source: Chapter 11, 8 [BAF])
Lec 16 (Mar 25): Circuit-switched networks, Message-switched networks, Packet switching - basic idea, types. (Main source: Chapter 11, 8 [BAF])
Lec 17 (Mar 30): Virtual-circuit switching - overall idea, setup phase, data transfer and teardown phases, performance, delay and applications, MPLS basic idea. (Main source: Chapter 8 [BAF], Chapter 18 [BAF 5th edition])
Lec 18 (Apr 1): Datagram switching - overall idea, working, efficiency, and total delay with pipelining, finding optimum packet size. (Main source: Chapter 8 [BAF], Chapter 18 [BAF 5th edition])
All the best for the Mid-term exams!
Lec 19 (Apr 17): Introduction to the network layer, IP addressing, IPv4 address, hierarchy in addressing, basics of classful addressing, subnet mask, classful addressing - possible number of networks and hosts per network that can be configured, introduction to classless addressing and CIDR notation. (Main source: Chapter 19 [BAF], Chapter 18 [BAF 5th edition])
Lec 20 (Apr 20): Revisit classful and classless addressing, special addresses and their use, private addresses: their range, use, basic idea of network address translation (NAT). (Main source: Chapter 19 [BAF], Chapter 18 [BAF 5th edition])
Lec 21 (Apr 21): Motivation behind subnetting and supernetting, questions on subnetting (Class A, B, C). (Chapter 19 [BAF], Chapter 18 5th Edition [BAF]) (CCNA IPV4 addressing and subnetting [AB])
Lec 22 (Apr 22): Variable-length subnet mask: motivation, examples. Hierarchical addressing with subnetting. (Chapter 19 [BAF], Chapter 18 5th Edition [BAF]) (CCNA IPV4 addressing and subnetting [AB]).
Lec 23 (Apr 27): Alternate methods to find Network ID, Broadcast ID for a given host, examples, Network address translation, motivation, problems, single-level translation, translation based on port number and IP address. (Main source: Chapter 19 [BAF], Chapter 18 [BAF 5th edition])
Lec 24 (Apr 28): Address aggregation or supernetting, use of forwarding or routing tables, longest mask matching, End-to-end forwarding of IP packets: within local network and across the network boundary, use of switch, ARP, and Routing tables. (Main source: Chapter 18, 20 [BAF 5th edition]) (Extra Source: Packet Traveling)
Lec 25 (Apr 29): Data delivery in networks, how routing tables work, default route. Basics of routing, types of routing: static, default, dynamic, Internet and autonomous systems, Intradomain and interdomain routing protocols - classification, overall idea. (Main source: Chapter 22 [BAF], Chapter 20 [BAF 5th edition])
Lec 26 (Apr 30): Distance vector routing: basic idea, initialization, sharing, updating, periodic and triggered updates, two-node instability problem and solutions. (Main source: Chapter 22 [BAF], Chapter 20 [BAF 5th edition])
Lec 27 (May 4): Two-node instability problem and solutions, three-node instability, RIP, examples of distance-vector routing. (Main source: Chapter 22 [BAF], Chapter 20 [BAF 5th edition])
Lec 28 (May 7): Link-state routing: overview, idea, generation and dissemination of LSPs, shortest-path tree formation via Dijkstra's algorithm, routing table formation, examples. (Main source: Chapter 22 [BAF], Chapter 20 [BAF 5th edition])
Lec 29 (May 8): Need for path-vector routing, Path vector routing steps: Initialization, sharing and updating, loop prevention, policy routing, metrics, and BGP. IP Supporting protocols - ICMP, IGMP, ARP, RARP, Dynamic address assignment using DHCP. (Main source: Chapter 22 [BAF], Chapter 18, 20 [BAF 5th edition])
Lec 30 (May 11): Dynamic address assignment using DHCP, message format and DHCP operation, Introduction to IPV6, motivation and characteristic features, IPV6 representation: abbreviation, zero compression, and mixed notation, special IPV6 addresses, IPV4 compatible formats: compatible, mapped. (Main source: Chapter 19 [BAF], Chapter 22 [BAF 5th edition])
Lec 31 (May 12): Global unicast address, generating interface ID using link-layer address, private addressing: site-local and link-local, multicast address. IPV4 header format, function of different fields in the header, and why we require all of them, example questions about IPV4 header. (Main source: Chapter 19, 20 [BAF], Chapter 19, 22 [BAF 5th edition])
Lec 32 (May 13): IPV4 function of different fields in header, need for fragmentation, Maximum transfer unit (MTU), How is fragmentation done? Fragmentation fields: identification, flags, fragmentation offset. Fragmentation examples. (Main source: Chapter 20 [BAF], Chapter 19, 22 [BAF 5th edition])