CMPS 376 Computer Networks
Course Description

Computer Science Department
California State University, Bakersfield
V.1, 5/6/2003

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.