Training Course: Network Programming
training course enquiry
Training Course Summary:
The Network Programming course provides students with the information needed to apply network programming concepts and techniques, including the Open Systems Interconnection (OSI) seven-layer model. The course can also teach how to write network programs for both stream and datagram communications with both sockets and Transport Level Interface (TLI), how to use the client-server model in network programs, how to write RPC network programs, and how to implement network security. The course covers network programming facilities on the Solaris Operating Environment, including transmission control protocol/internetwork protocol (TCP/IP), UDP/IP, sockets, TLI, remote procedure call (RPC), UNIX, and Data Encryption Standard (DES) network security facilities.Pre-Requisites:
To succeed fully in this course, students should be able to:Understand basic Solaris UNIX commands
Use the Solaris symbolic debuggers: dbx or debugger
Who Should Attend:
Students who can benefit from this course are experienced C programmers who are proficient in system interface programming and want to be involved in network programming.Training Course Overview/Content:
Module 1 - Networking TopicsDescribing the principles of layered communications protocols
Describing the ISO seven layer model for open systems interconnection
Describing the Client-Server model for distributed applications
Describing the basic features provided by the TCP/IP protocol suite
Discussing some of the network facilities in the Solaris computing environment
Module 2 - Networking Software Architecture in Solaris 2
Describing the overall structure of the networking software in Solaris 2
Describing the basic features of the STREAMS I/O system
Describing the sockets interface implementation in Solaris 2
Module 3 - Transporting Selection and Name to Address Mapping
Describing the part played by the network selection and name to address mapping functions in the construction of transport protocol independent software
Performing run-time transport selection from within an application using the netconfig file and NETPATH environment variable.
Using the name to address mapping functions to translate host and service names to transport addresses in a transport independent way
Module 4 - Introduction to Transport Layer Interface (TLI) Programming
Describing the basic features of TLI
Describing the concepts of Transport User and Transport Provider
Accessing the TCP/IP protocols using TLI
Building simple applications using both connection mode and connectionless mode operation of TLI
Module 5 - More Advanced Use of TLI
Retrieving attributes of a transport provider through a transport endpoint
Describing how TLI functions can operate in non-blocking mode
Setting and examining protocol options through a transport endpoint
Describing the relationship between TLI and STREAMS
Writing applications which use a read()/write() interface to a transport endpoint
Performing asynchronous I/O using TLI
Managing multiple transport endpoints using the polling interface
Processing Out of Band (Expedited) data on a transport endpoint
Building a server which can monitor multiple transport endpoints
Module 6 - Accessing Network Information
Listing the configuration files, or Name Service maps and tables, that contain information about the network facilities used by sockets based applications
Using the standard library routines to access this information
Using the various macros and library routines used in building network-based applications
Module 7 - Sockets
Describing the basics of sockets
Describing the concepts of communications domains and socket types
Explaining how the different types of sockets give access to the different underlying protocols
Writing simple applications which use TCP and UDP as transport protocol
Module 8 - More Advanced Use of Sockets
Describing the characteristics of I/O using sockets
Describing the main socket options that can be interrogated and set
Accessing a network interface through a socket
Broadcasting through a socket
Describing how sockets operate in communications domains other than UNIX and Internet
Module 9 - External Data Representation
Describing the architecture of XDR
Using the standard XDR filter routines
Writing XDR filters for compound data types
Describing how XDR manages dynamic memory
Module 10 - Introduction to Remote Procedure Call
Describing the basic concepts of Remote Procedure Call
Listing the main features of the Open Network Computing (ONC[TM]) RPC protocol
Describing the function of program, version and procedure numbers
Explaining how rpcbind works
Using the RPC service library routines
Module 11 - The Programmer's Interface to RPC
Describing the structure of RPC applications
Describing the simplified and standard programming interfaces to the RPC facilities
Writing a small application using the simplified and standard interfaces
Module 12 - Building Applications with rpcgen
Specifying a RPC based application protocol using the RPC language
Using rpcgen to translate a protocol specification into code
De

