NETWORK PROGRAMMING LAB
CS334
Overview
The goal of this course is to introduce the students to the world of computer networks where they learn network related commands, practise Linux programming using Linux system calls, and start using tools for Network Traffic Analysis and Network Monitoring. By the end of this course, students should be able to design and deploy Computer Networks.
Instructors
VIPIN VASU A V
vipin@cet.ac.in
THANIA KUMAR
thaniakumar@cet.ac.in
Prerequisites
- CS307: Data Communication
- CS206: Operating Systems
Teaching Assistants
BLESSON ANDREWS VARGHESE
MANU C
VINITHA M RAJAN
SANJAY PRAKASH
KIRAN RAJU
Syllabus
Schedule
- CYCLE 1
- Basics of Network configurations, files and Networking Commands
- System Calls
- Process and thread
- First Readers-Writers Problem
- Second Readers – Writers Problem
- Pipes, Message Queues and Shared Memory
- CYCLE 2
- Socket Programming: TCP
- Socket Programming: UDP
- Multi user chat server using TCP
- Concurrent Time server application using UDP
- Distance Vector Routing Protocol
- Link State Routing Protocol
- Simple Mail Transfer Protocol
- Concurrent File Server
- CYCLE 3
- Wireshark: UDP
- Wireshark: Three Way handshaking of TCP
- Packet capturing and filtering application
- Network with multiple subnets with wired and wireless LANS
- Network Simulator NS-2
References
- Textbook : Andrew S. Tanenbaum, Computer Networks, 4/e, PHI.
- Textbook : Behrouz A. Forouzan, Data Communications and Networking, 4/e, Tata McGraw Hill.
- W. Richard Stevens, Unix Network Programming, 3/e, Prentice Hall, Addison-Wesley.
-
NPTEL Course : Computer Networks and Internet Protocols.