ECS 152B COMPUTER NETWORKS (4 units)
Lecture: 3 hours
Discussion: 1 hour
TCP/IP protocol suite, computer networking applications, client-server and peer-to-peer architectures, application-layer protocols, transport-layer protocols, transport-layer interfaces, sockets, network programming, remote procedure calls, and network management.
Prerequisite: ECS 150; (ECS 152A or EEC 173A)
Summary of course contents
- TCP/IP protocol suite
- Client-Server architecture
- Peer-to-Peer architecture
- Inter-Process Communications (IPC)
- Networking Applications and Protocols
- File Transfer Protocol (FTP)
- Hypertext Transfer Protocol (HTTP)
- Telnet / Remote Login
- Domain Name System (DNS)
- Remote Procedure Calls (RPC)
- Transport Layer Protocols
- User Datagram Protocol (UDP)
- Transmission Control Protocol (TCP)
- Transport Layer Interfaces
- Socket API
- Socket related system calls
- I/O Multiplexing
- Other Topics
- Network management
- Design and performance issues
Computer usage: Students will have access to the workstations 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.
Goals: Students will: (1) learn the principles of upper-layer protocol stack and the design and implementation of computer networking applications; (3) learn the transport layer protocols and the services they provide to networking applications and the application layer protocols; (2) learn the basics in designing and developing networking applications and determine improvements by critically examining some existing applications; and (3) gain hands-on experience in designing network and transport layer protocols and computer networking applications.
- W. R. Stevens, TCP/IP Illustrated, Volume1: The Protocols, Addison-Wesley Professional; 2 edition 2011.
- J. Kurose and K. Ross, Computer Networking: A Top-Down Approach Featuring the Internet, 6th Edition, Pearson/Addison Wesley, 2012.
- D. E. Comer, Internetworking with TCP/IP, Vol. I: Principles, Protocols, and Architecture, 5th edition, 2006.
- D. E. Comer and D. L. Stevens, Internetworking with TCP/IP, Vol. II: Design, Implementation, and Internals, Third Edition, Prentice-Hall, 2009.
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
GE3: Science & Engineering
Instructors: D. Ghosal, N. Matloff, P. Mohapatra, and B. Mukherjee
History: Reviewed 2018.9.7 (CSUGA): no updates. Reviewed by D. Ghosal (2012.10.25): 1) Updated and reorganized the course content, removed cross listing statement, updated reading list, updated the prerequisite statement, removing ECS 150 as a required course. Prior version by D. Ghosal, March 2003.
|1||an ability to apply knowledge of mathematics, science, computing, and engineering|
|2||X||an ability to design and conduct experiments, as well as to analyze and interpret data|
|3||X||an ability to design, implement, and evaluate a system, process, component, or program to meet desired needs, within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability|
|4||X||an ability to function on multi-disciplinary teams|
|5||an ability to identify, formulate, and solve computer science and engineering problems and define the computing requirements appropriate to their solutions|
|6||an understanding of professional, ethical, legal, security and social issues and responsibilities|
|7||X||an ability to communicate effectively with a range of audiences|
|8||X||the broad education necessary to understand the impact of computer science and engineering solutions in a global and societal context|
|9||a recognition of the need for, and an ability to engage in life-long learning|
|10||X||knowledge of contemporary issues|
|11||X||an ability to use current techniques, skills, and tools necessary for computing and engineering practice|
|12||an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices|
|13||X||an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity|