Syllabus of Unix Network Programming
Syllabus of Unix Network Programming
Credit: 06
CourseObjective
This course introduces the concepts of Internet protocols, ports used during communication,
Client/Server concepts and various transport protocols used in computer network applications
and services. The objective is to equip the students with technical knowledge of it comprises of
the study of the sockets used with TCP and UDPinclude IPV4& IPV6.
Detailed Syllabus
Unit 1
Introduction: Basics of CIient Server applications, Example of day time client server,
98
Connection-oriented and Connection-less client server Applications: Elementary TCP
sockets - Socket, connect, bind, listen, accept, fork and exec function, close function, Socket
Address Structures, Byte Ordering and Manipulation Functions, TCP Client and Server for Echo,
Signal Handling in case of crashing and rebooting of server, Shutdown process function
Unit 3
Socket 0ptions: Getsockopt and stockpot functions. Socket states, Generic socket option
Unit 4
Connection-oriented and connection-less Sockets: TCP-oriented basic concurrent client server
applications, UDP oriented Echo client and server application, Handling of errors like lost
datagram, Lack of flow control with UDP, determining outgoing interface with UDP.
Unit 5
Elementary name and Address conversions: Domain Name System, socket functions like
gethostbyname, gethostbyname2, gethostbyaddr function, uname function, gethostname function,
getservbyname and getservbyport functions.
Unit 6
Practical
1. Implement TCP Echo client and TCP Echo server (Iterative ).
2. Implement TCPEcho clicnt and TCP Echo server (Concurrent).
3. Implement TCP daytime client and TCP daytime server (Iterative).
4. Implemcnt TCP daytime clicnt and TCP daytime server (concurrcnt).
99
9. Implement UDP client and UDP server where server displays the IP address and port
number of the client sending the datagram. Client sends a datagram (size 64 bytes) three
times to the same server. Server sends the message back to client. Client reports the time
elapsed in sending and receiving of the message. Use connected UDP sockets.
10. Write to program to
1
display name of the host
2 all IP addresses of the host.
3 Check whether FTP and HTTP services are running on the system.
4 Display the name of the service running on port number specified by user.
References
1. Stevens, R. W., Fenner, B., & Rudoff, A. M. (2010). Unix Network Progranming: The
Sockets Networking API. 3rd edition. PHI.
Additional Resources:
1. Forouzan, B. A. (2017). Data Comunication and Networking. 4th edition. McGraw-Hill
Education.
2. Stevens, R. W. (2009). Unix Network Programming. Ist edition. PHI,
3. Tanenbaum, A. S. (2012). Computer Neworks. 5th edition. Pearson Education
100
5 Signal Handling
6-7 VO Multiplexing
12 Daemon Processes
15 Raw sockets
Assessment Methods
Written tests, assignments, quizzes, presentations as announced by the instructor in the class.
Keywords
Connection oriented sockets, connection less sockets, advanced sockets