Skip navigation

Site Map | College of Engineering | UC Davis | MyUCDavis

ECS 152B COMPUTER NETWORKS (4) I,II,III

Lecture: 3 hours

Discussion: 1 hour

Prerequisite: Courses ECS 150, ECS 152A

Grading: Letter; homework/projects (33%), midterms/final (67%)

Catalog Description:
TCP/IP protocol suite, network layer protocols, transport layer protocols, transport layer interfaces, sockets, UNIX network programming, computer networking applications, remote procedure calls and network management.

Goals:
This course is a follow-up to ECS 152A. While ECS 152A deals with the fundamental principles of networking and concentrates on the lower layers of the protocol stack, ECS 152B is devoted to upper-layer protocols, in particular to the development of software that is used in computer networks. The course provides the required basics that are needed to develop networking software along with case studies of several networking applications. Students can understand how to design and develop networking software and determine where improvements can be made by critically examining some existing applications. Through a number of assignments/projects, students will gain hands-on experience in designing network and transport layer protocols and computer networking applications and experimentally evaluate them in the Ethernet network in the Computer Science Department's Instructional Facility.

Expanded Course Description:

  1. Preliminaries
    1. TCP/IP protocol suite, OSI Model,
    2. Client-Server Model
    3. Framework of a UNIX process
    4. Inter-Process Communications (IPC)
  2. Networking Overview and Protocols
    1. TCP/IP basics
    2. Internet architecture
    3. Internet Protocol
    4. Routing protocols
    5. ICMP and IGMP
  3. Transport Protocols
    1. User Datagram Protocol (UDP)
    2. Transmission Control Protocol (TCP)
  4. Transport Layer Interfaces
    1. Berkeley socket
    2. Socket related system calls
    3. I/O Multiplexing
  5. Networking Applications
    1. Network Library Routines
    2. File Transfer Protocol (FTP)
    3. HyperText Transfer Protocol (HTTP)
    4. Telnet / Remote Login
    5. Domain Name System (DNS)
    6. Remote Procedure Calls (RPC)
  6. Other Topics
    1. Security
    2. Network Management
    3. Design and Performance Issue

Textbooks:
W. Richard Stevens, UNIX Network Programming, Prentice-Hall, 1990

W. Richard Stevens, TCP/IP Illustrated, Volume 1: The Protocols, Addison Wesley, 1994

References:
D. E. Comer and D. L. Stevens, Internetworking with TCP/IP, Vol. II: Design, Implementation, and Internals, Second Edition, Prentice-Hall, 1994.

D. E. Comer, Internetworking with TCP/IP, Vol. I: Principles, Protocols, and Architecture, Third Edition, Prentice-Hall, 1995.

W. Stallings, Data and Computer Communications, Fourth Edition, Macmillan, 1994.

Computer Usage:
Students work on UNIX workstations connected by an Ethernet network, as in the Computer Science Department's Instructional Facility.

Laboratory Projects:
Through a number of assignments/projects (approximately 4-5 over a 10-week period), students will gain hands-on experience by designing and analyzing network and transport layer protocols and computer networking applications.

Engineering Design Statement:
The laboratory projects are design-oriented and experimental in nature. Sample projects include: (1) design and analysis of a reliable transport protocol over UDP, (2) design and analysis of a distributed database over a TCP/IP network, and (3) design of a network time protocol using which clients can synchronize their clocks to a universal time server.

ABET Category Content:
Engineering Science: 1 unit
Engineering Design: 2 units

Goals:
Students will:

Student Outcomes:

Instructors: B. Mukherjee, D. Ghosal, N. Matloff, P. Mohapatra

Prepared by: D. Ghosal (March 2003)

Overlap Statement:
Comparison of this course with other existing courses does not indicate any overlap.

5/06

Back to Course Descriptions