22X0542: NETWORK PROGRAMMING
(Professional Elective –I)
[Link]. III Year I Sem. L T P C
3 0 0 3
Prerequisites: Computer Networks
Course Outcomes: The Students should be able to
Understand basics of Network Programming and Sockets
Write socket API based programs
Design and implement client-server applications using TCP and UDP sockets
Analyze network programs
Apply Multicasting
UNIT-I
Introduction to Network Programming: OSI model, Unix standards, TCP and UDP & TCP
connection establishment and Format, Buffer sizes and limitation, standard internet services,
Protocol usage by common internet application.
Sockets: Address structures, value – result arguments, Byte ordering and manipulation function
and related functions Elementary TCP sockets – Socket, connect, bind, listen, accept, fork and
exec function, concurrent servers. Close function and related function.
UNIT-II
TCP client server: Introduction, TCP Echo server functions, Normal startup, terminate and
signal handling server process termination, Crashing and Rebooting of server host shutdown of
server host. Elementary UDP sockets: Introduction UDP Echo server function, lost datagram,
summary of UDP example, Lack of flow control with UDP, determining outgoing interface with
UDP.
I/O Multiplexing: I/O Models, select function, Batch input, shutdown function, poll function,
TCP Echo server
UNIT-III
Socket options: getsockopt and setsockopt functions. Socket states, Generic socket option IPV6
socket option ICMPV6 socket option IPV6 socket option and TCP socket options.
Advanced I/O Functions: Introduction, Socket Timeouts, recv and send Functions,readv and
writev Functions, recvmsg and sendmsg Functions, Ancillary Data, How Much Data Is Queued?,
Sockets and Standard I/O, T/TCP: TCP for Transactions.
UNIT-IV
Elementary name and Address conversions: DNS, gethost by Name function, Resolver option,
Function and IPV6 support, uname function, other networking information.
Broadcasting: Introduction, Broadcast Addresses, Unicast versus Broadcast, dg_cli Function
Using Broadcasting, Race Conditions
UNIT-V
Multicasting: Introduction, Multicast Addresses, Multicasting versus Broadcasting on A LAN,
Multicasting on a WAN, Multicast Socket Options, mcast_join and Related Functions, dg_cli
Function Using Multicasting, Receiving MBone Session Announcements, Sending and
Receiving, SNTP: Simple Network Time Protocol
TEXT BOOKS:
1. UNIX Network Programming, by W. Richard Stevens, Bill Fenner, Andrew M. Rudoff,
Pearson Education
2. UNIX Network Programming, 1st Edition, - W. Richard Stevens. PHI.
REFERENCES:
1. UNIX Systems Programming using C++ T CHAN, PHI.
2. UNIX for Programmers and Users, 3rd Edition Graham GLASS, King abls, Pearson
Education
3. Advanced UNIX Programming 2nd Edition M. J. ROCHKIND, Pearson Education