Introduction to network application, client/server communication, OSI Model, BSD Networking history, Test Networks and Hosts, Unix Standards, 64-bit architectures, Transport Layer: TCP, UDP and SCTP.
Sockets Introduction – socket address structures, value-result arguments, byte ordering and manipulation functions, address conversion functions, Elementary TCP Sockets – socket, connect, bind, listen, accept , fork and concurrent server design, getcsockname and getpeername functions and TCP Client/Server Example- client/server programming through TCP sockets, Normal startup, termination, POSIX signal handling, Signal handling in server, Crashing, rebooting of server host, shutdown
I/O Multiplexing and Socket Options, Elementary SCTP Sockets- Interface Models, sctp_xx functions, shutdown function, Notifications, SCTP Client/Server Examples – Oneto-Many, Head–of-Line Blocking, Controlling number of streams and Termination, IPv4 and IPv6 Interoperability–different interoperability scenarios.
Daemon Processes, syslogd, daemonizing functions and the inetd super server, Advanced I/O functions- readv, writev, sendmsg and recvmsg, Ancillary data, Advanced polling, Unix domain protocols- socket address structure, functions and communication scenarios, Nonblocking I/O – connect and accept examples.
ioctl operations- socket, file, interface configuration information, ARP cache and routing table operations, Routing sockets- data link socket address structure, reading and writing, sysctl operations, interface name and index functions, Key Management functions – reading, writing, SADB, SA, Dynamically Maintaining SA’s, Out-of-Band data, Threadsbasic thread functions, TCP echo server using threads, Mutexes and Conditional variables.