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 UDP include IPV4 & IPV6.
At the end of the course, students should be able to:
Introduction: Basics of Client Server applications, Example of day time client server, concurrent servers, protocols, sockets, port numbers.
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.
Socket Options: Getsockopt and stockpot functions, Socket states, Generic socket option.
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.
Elementary name and Address conversions: Domain Name System, socket functions like gethostbyname, gethostbyname2, gethostbyaddr function, uname function, gethostname function, getservbyname and getservbyport functions.
Advanced Sockets: Daemon Processes, Multithreaded server, Raw sockets.