Network Programming (SI-240)

Network Programming (SI-240)
 

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.

»   Details below
 
 
Select a course
Product ID Duration Price
SI-240 5 days $2,195.00

Please contact a Sun Training Representative to order this product.

If schedules are not displayed, or schedules shown do not match your availability, select "Request a Class" to inquire about dates or arranging an onsite or dedicated class for your organization.

 
 
Who Can Benefit

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.

 Back to top

 
 
Prerequisites

To succeed fully in this course, students should be able to:

  • Understand basic Solaris UNIX commands
  • Use the Solaris symbolic debuggers: dbx or debugger

 Back to top

 
 
Skills Gained

Upon completion of this course, students should be able to:

  • Understand and use the OSI seven-layer model
  • Create transport independent applications using RPC
  • Write any of the above types of applications to work with the Internet daemon inetd

 Back to top

 
 
Related Courses

Before:

After:

 Back to top

 
 
Course Content

Module 1 - Networking Topics

  • Describing 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
  • Describing the various options available when using rpcgen

Module 13 - Advanced RPC Topics

  • Debugging RPC applications under development using the raw RPC transport
  • Using broadcast RPC
  • Describing how RPC requests can be batched to improve performance
  • Accessing rpcbind from a program
  • Using asynchronous remote procedure calls
  • Replacing the standard svc_run() function with one custom written

Module 14 - Authentication

  • Describing the principles of authentication in RPC based applications
  • Listing the forms of authentication which can be applied to RPC applications
  • Using UNIX and DES authentication in applications
  • Describing the basic principles of Kerberos authentication

Module 15 - Integrating Applications with inetd

  • Describing how the Internet daemon inetd operates
  • Writing applications that work with inetd

 Back to top

 
 
Browse Other Course Topic Areas
 
Sun Training U.S.   
» Training outside the U.S.
 
 
 
 
 
Can't Travel for Training?
Sun eLearning and On Demand Labs give you easy access to the training you need.
Get an iPod touch
Get an iPod touch
For a limited time: order qualifying Sun training and get an iPod touch®.