COURSE OUTLINE: CPTR450
CPTR450 Network Computing and Architecture
Instructor: Daniel Bidwell
(bidwell@andrews.edu)
August 28, 2006 to December 14, 2006
A study of the concepts and implementation of the client/server model of computing. Examines four implementations of the client/server model. Surveys the hardware and software used in network communications, including the specifications and protocols for thin and thick coax ethernet, twisted pair ethernet, fiber optics, slow IP mediums, UDP/IP, and TCP/IP. No discussion of Networking can be complete without including the implications of security.
TCP/IP Network Administration by Craig Hunt. O'Reilly & Associates, Inc, 2002. ISBN 0-596-00297-1.
Essential System Administration by AEleen Frisch. O'Reilly & Associates, Inc, 2002. ISBN 0-596-00343-9.
100 - 95 A 95 - 90 A- 89 - 87 B+ 86 - 83 B 82 - 80 B- 79 - 75 C+ 74 - 70 C 69 - 65 C- 64 - 50 D
80% attendance is required to receive a successful audit
1. Homework 60% 2. Tests 30% 3. Class Participation 10%
Chapters 1-16 of Internetworking with TCP/IP will be covered in detail. This text will also cover information that is required for the homework problems.
The student will need a good understanding of the material from chapters 1-8, and 12 of Essential System Administration before they can understand the security aspects of networking. Chapters 1-9 and 11-13 will be covered when we discuss how to secure your network.
The client/server model can become very complex with real applications. For the purposes of this class we will use the following simple model of which program does what.
Client Direction Server Read from Terminal Write to Server -> Read from Client Process data Read from Server <- Write results to Client Write results to Terminal
All homework problems will be done using either the C language on a unix system or perl. These program can be tested on any unix system.
Problem 1. The first homework problem will be to write a
program which does not use the client/server model. This
program will read a line from the terminal, call a function to
process the line, and then write the results back to the terminal.
The input line should have the format of: OPERATOR:STRING where the
operators indicated operations to be performed on the string. The
operators are: r to reverse the order of the string, and c to reverse
the case of the letters (change uppercase to lowercase and lowercase
to uppercase). The function that processes the line will
return a result in the same character array followed by a new line.
Problem 2. The second problem will be to convert your function
in problem 1 to work with pipes. The client will handle the input and
output between the terminal and the program while the server will do
the calculations and return a result to client. You may wish to read
the man pages for the pipe and fork system calls.
Problem 3. The third homework problem will be to convert your
string function server in problem 1 to work with FIFOs. The client
will handle the input and output between the terminal and the program
while the server will do the string functions and return a result to
client. You may wish to read the man pages for the mknod system call.
Problem 4. The fourth homework problem may be done after
reading up through chapter 12 in the Comer book. This problem will be
to convert your string function in problem 1 to work with UDP
sockets. The client will handle the input and output between the
terminal and the program while the server will do the calculations
and return a result to client.
Problem 5. The fifth homework problem may be done after
reading up through chapter 12 in the Comer book. This problem will be
to convert your string function in problem 1 to work with TCP
sockets. The client will handle the input and output between the
terminal and the program while the server will do the calculations
and return a result to client.
A test will be given on the last day of class.
This class is taught for the junior/senior or graduate level student taking a Computer Science degree.