COURSE OUTLINE: CPTR450


CPTR450 Network Computing and Architecture


Instructor: Daniel Bidwell
(bidwell@andrews.edu)


August 28, 2006 to December 14, 2006

Course Content and Objectives

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.

Textbooks

Internetworking With Tcp/Ip: Client-Server programming and Applications: Bsd Socket Version by Douglas Comer. Prentice Hall, 1996. ISBN 0-13-260969X.

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.

Prerequisite: CPTR152

Class Requirements and Grading

Final Grade Distribution

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

Class Work - Weights Final Grade Distribution

1. Homework             60% 
2. Tests                30% 
3. Class Participation  10% 

Class Work - Description

Assigned Reading

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.

Homework

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.

Exams

A test will be given on the last day of class.

Course Topics

Client/Server Model.

Pipes.

FIFOs.

Shared Memory.

TCP/IP Protocols.

Sockets.

Network Hardware.

Ethernet: Thick, Thin, and Twisted Pair.

CSMA/CD.

Fiber Optics.

Routing and Bridging.

Network Design.

Unix System Administration.

Unix System Installation.

Managing a Secure Unix Network.

Managing NIS/YP.

Managing NFS.

Managing Automounter.

Firewalls and other Security Measures.

Course Level

This class is taught for the junior/senior or graduate level student taking a Computer Science degree.