RA20 NETWORK PROGRAMMING III year II sem (Th & Lab)
RA20 NETWORK PROGRAMMING III year II sem (Th & Lab)
COURSE OBJECTIVES:
1. Understanding of networks using TCP-IP.
2. Understanding of client design and server design methods.
3. Networking applications using socket programming.
4. Understanding the design considerations in building network applications.
5. An in depth knowledge of sockets and the system calls needed to support network programming.
6. To understand the data exchange between two processes.
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.
UNIT-II
Elementary TCP sockets – Socket, connect, bind, listen, accept, fork and exec function, concurrent
servers. Close function and related function
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.
UNIT-III
I/O Multiplexing and socket options: I/O Models, select function, Batch input, shutdown function, poll
function, TCP Echo server, getsockopt and setsockopt functions. Generic socket option IPV6 socket
option ICMPV6 socket option IPV6 socket option and TCP socket options.
UNIT-IV
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.
Elementary name and Address conversions: DNS, gethost by Name function, Resolver option, Function
and IPV6 support, uname function, other networking information.
UNIT-V
IPC : Introduction, File and record locking, Pipes, FIFOs streams and messages, Name spaces, system
IPC, Message queues, Semaphores.
Remote Login: Terminal line disciplines, Pseudo-Terminals, Terminal modes, Control Terminals, rlogin
Overview, RPC Transparency Issues.
TEXT BOOKS:
1. UNIX Network Programming, Vol. I, Sockets API, 2nd Edition. – W.Richard Stevens,
PearsonEdn.Asia.
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
NETWORK PROGRAMMING LAB
COURSE OBJECTIVES:
1. Understanding of networks using TCP-IP.
2. Understanding of client design and server design methods.
3. Networking applications using socket programming.
4. Understanding the design considerations in building network applications.
5. Analyze various socket system calls.
Week -1:
Implement the following forms of IPC.
a)Pipes b)FIFO
Week- 2:
Implement file transfer using Message Queue form of IPC
Week 3:
Write a program to create an integer variable using shared memory concept and increment the
variable simultaneously by two processes. Use semaphores to avoid race conditions
Week- 4:
Design TCP iterative Client and server application to reverse the given input sentence
Week- 5:
Design TCP iterative Client and server application to count the number of vowels present in
given input sentence
Week 6:
Design TCP client and server application to transfer file
Week- 7:
Design a TCP concurrent server to convert a given text into upper case using multiplexing
system call “select”
Week- 8:
Design a TCP concurrent server to echo given set of sentences using poll functions
Week -9:
Design UDP Client and server application to reverse the given input sentence
Week -10:
Design UDP Client server to transfer a file
Week- 11:
Design using poll client server application to multiplex TCP and UDP requests for converting a
given text into upper case.
Week -12:
Design a RPC application to add and subtract a given pair of integers
REFERENCE BOOKS:
1. Richard Stevens, “Advance Unix Programming”, Pearson Education, Second Edition,
ISBN:0-13-042411-0
2. N.B. Venkateswarlu, “Advance Unix Programming”, BS Publication, ISBN No.:0471419028
WEB LINKS:
1. np-material.blogspot.com/.../unix-network-programming-1st-Edition..
2. http://thebookslibrary.blogspot.in/2008/12/unix-network-programming-vol-i-sockets.html.