WITH EFFECT FROM THE ACADEMIC YEAR 2016 - 2017
CS 355
COMPUTER NETWORKS
Instruction |
4 |
Periods per week |
Duration of University Examination |
3 |
Hours |
University Examination |
75 |
Marks |
Sessional |
25 |
Marks |
Credits 4
Objectives:
- To understand the state-of-the-art technology in network protocols, network architecture and networked systems
- To learn the design principles of network infrastructure
- To gain proficiency in network programming
Outcomes:
This course enables the student to develop and demonstrate the following
- Ability to compare different network architectures
- Ability to understand the design principles of networking
- Ability to develop applications using network programming
UNIT-I
Review of ISO OSI Reference Model and TCP/IP Architectures.
Network Layer: Design issues, Services, Internal organization, Comparison of Virtual circuits and Datagram subnets. Routing Algorithms: The Optimality principle, Shortest path routing, Flooding, Flow-based algorithms, Distance vector, Link state, Hierarchical algorithms, Broadcast and Multicast routings. Congestion control algorithms: General principles, Traffic shaping, Congestion control in virtual circuit subnets, Choke packets, Load shedding, Jitter control and Congestion control for multicasting, Quality of Service (QoS)
UNIT-II
Internet working: How networks differ, Concatenated virtual circuits, Connectionless internet working, Tunneling, Internetwork routing, Fragmentation and Firewalls.
The Network Layer of the Internet: The IP protocol, IP addresses, Subnets, Internet control protocols, Gateway routing protocols, Multicasting, CIDR.
UNIT-III
Transport Layer: Service primitives, Addressing, Establishing a connection, Releasing a connection, Flow control, Buffering, Multiplexing and Crash recovery.
Internet Transport Protocols (TCP and UDP): The TCP service model, The TCP protocol, The TCP Segment Header, TCP connection management, Transmission policy: Congestion control, Timer management and UDP, Performance issues.
UNIT-IV
Application Layer:
Domain Name System: DNS name space, Resource records, Name services.
SMTP and MIME, HTTP, SNMP, Telnet, ftp, Multimedia.
UNIT-V
Socket programming: Socket address, Elementary socket system calls, Advanced socket system calls, Reserved ports, Socket options, Asynchronous I/O, Input/Output Multiplexing, Out-of-Band data, Sockets and Signals, Internet Super Server, DNS.
Suggested Reading:
1. Andrew S. Tanenbaum, David J. Wetherall, Computer Networks, 5th Edition, Pearson, 2012
2. Chwan-Hwa (John) Wu, J. David Irwin, Introduction to Computer Networks and Cyber Security, CRC Press, 2013
3. James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach Featuring the Internet, 5th Edition, Addison-Wesley, 2012
4. W. Richard Stevens, Unix Network Programming, Prentice Hall/Pearson Education, 2009
5. W. Richard Stevens, Andrew M Rudoff, Bill Fenner, Unix Network Programming: Networking APIs: Sockets and XTI (Volume 1) 3rd Edition, PHI