| 
       Catalog Description :
        | 
      
	A study of computer networks focusing on the tcp/ip Internet protocols and covering
	the four layers: physical, data link, network, and transport, in detail. This course
	includes a 2 1/2 hours per week laboratory in which students will cover important
	network utilities, debugging tools, process and thread control as it relates to
	network programming, and the coding of programs which do interprocess
	communication over sockets. The typical Internet client program which accesses a
	tcp network server daemon will be covered in detail. 
       | 
  
  
     | 
           Prerequisite:
       | 
     
	CMPS 223
      | 
  
   
     | 
	 Units:
       | 
     
	5
      | 
  
  
     | 
	 Coordinator:
       | 
     
        Marc Thomas
      | 
  
    
     | 
	Goals/Objectives:
      | 
     
       
	   - 
		Understand background, history  and architectures of networking and the Internet, various
		network computing, network standards
	   
 
		Internet protocol versus the
		ISO 7-layer reference model,
		Explain the hierarchical, layered structure of a typical network architecture
	   - 
		Know and discribe the various issues related to network security.
	   
 
	   - 
		Understand anb implement client-side and server-side programming and architectures
	   
 
        
      | 
  
 
     | 
	 Current Texts:
       | 
     
	
		-  Kurose and Ross ,  Computer Networking
		  (2nd edition) , ISBN 0-201-97699-4
		
 
		-  Peterson and Davie,  Computer Networks
 		  (2nd edition) , ISBN 0-55860-514-2
		
 
		-  (Reference)
		  Richard Stevens ,  Unix Network Programming
 	  	(2nd edition) , ISBN 0-13-490012-X 
		
 
	 
      | 
  
    
	 Topics:
      | 
    
	
	   - 
		Introduction to net-centric computing (NC1):  Historical development of computer networks,
		LAN's and WAN's, network architecture, introduction of desirable features 
		 and applications which a computer network should support; discussion 
		 of network topology, latency, bandwidth, and network architecture; 
	 	 Internet protocol versus the ISO 7-layer recommendations
	   
 
	   - 
		Communication and networking (NC2): Network standard, the 4-layer Internet standard (physical,
		datalink, network, and transport), the ISO 7-layer reference model
		and why it croaked (perhaps two more layers, "political" and "profit,"
		should have been added), circuit versus packet switching, stream versus datagram service,
		Physical layer networking concepts, data link layer concepts, 
		Transport layer services, Internetworking and routing.
	       
	
		   - 
			Protocols, sessions, processes, and threads; coding
		 	problems which arise from differences between operating systems 
	 		(e.g.  Unix vs. Windows NT/2000/XP).
		   
 
			- 
			The physical layer and lower datalink layer (media
	 		access control) of the network; bandwidth and
	 		Shannon's law; encoding, framing, and error detection; reliable
	 		transmission and link protocols (stop & wait, sliding window, etc.);
	 		point-to-point versus multiple access local-area networks (LANs),
	 		case studies (RS-232, HDLC, ethernet and IEEE 802.3, token rings, 
	 		token bus);  design of the network adapter card and driver.
		   
 
		   - 
			The full datalink layer, combining links with 
	 		switches, virtual circuits versus datagrams; introduction to 
	 		routing strategies and more on network topology; fixed size versus 
	 		variable size frames, case study of ATM.
		  
 
		  - 
			The network layer (which may be absent in broadcast
			 LANs); building wide-area networks (WANs) from LANs and nodes, 
	 		repeaters, bridges and routers;
			 the Internet IPv4 protocol in detail; global addressing
	 		and address translation between the network and datalink layers
	 		( arp ); error reporting by nodes; icmp packets; symbolic
	 		host names, aliases and the domain name service (DNS).
		 
 
	
		- 
			The transport layer and end-to-end protocols; the
			Internet udp and tcp protocols in detail.
	      
  		
	    
	   - 
		Network security (NC3):  Basic network security issues, the natural insecurity of the
		physical media, authentication. 
	   
 
	   - 
		client-server computing (NC4): Client-server protocol and program structure,
		tcp protocols and tcp servers.
	   
	
  
      | 
    
    
      | 
	 ACM Sub Areas or Units Covered::
        | 
      
	
	 
		| 
   			NC1. Introduction to net-centric computing
		 | 
			0.0
		 |  
		| 
			NC2. Communication and networking
		 | 
			0.0
		 |  
		| 
			NC3. Network security 
		 | 
			0.0
		 |  
		| 
			NC4. use of tcp protocols in client-server computing
		 | 
			0.0
		 |  
	 
	NC:  Net-Centric Computing
      | 
   
   
      | 
	 Laboratory:
        | 
      
	The laboratory session will parallel the lecture, illustrating 
	the principles and familiarizing the student with writing network 
	application programs in  C , using a standard BSD socket 
	interface. This will include introducing the student to
	some associated process control, and special I/O system calls.
	We will also discuss the closely related  winsock.dll  
	programming on Windows NT/2000/XP.
       | 
   
   
      | 
	 Oral and Written Communication:
        | 
      
       | 
   
   
      | 
	 Social and Ethical Issues:
        | 
      
	 
       | 
      
   
      | 
	 Problem Analysis:
        | 
      
       | 
   
   
      | 
	 Solution Design:
        | 
      
       | 
   
   
      | 
	 Version & Date
        | 
      
	 Version 1, 5/6/2003
        | 
   
   
      | 
	 Comments
        | 
      
	The first draft based on ACM curricula 2001 in the format of
	ABET sample course description.
       |