CMPS 3620 Computer Networks (4)
A study of the theory of computer networking focusing on the TCP/IP Internet
protocols and covering the five layers in the model: physical, data link,
network, transport, and application. Communication on wired, wireless, and
cellular networks will be covered. Introduction of secure
communication and its incorporation into different layers of the model. As
part of the laboratory component, students will learn systems programming as
it relates to interprocess communication over sockets, I/O handling, process
and thread control, and the development of client/server programs.
Prerequisite: CMPS 2020 with a grade of C- or better
Programming in a high-level language (preferably C/C++)
Data structures and algorithms
Familiarity with programming in a command-line environment (e.g. gcc, g++, gdb)
It is strongly recommended that students be calculus-ready before taking this course
4 semester units. 3 units lecture (150 minutes), 1 unit lab (150 minutes).
Required for CS
Computer Networks, 5th edition, Andrew S. Tanenbaum and David J. Wetherall,
Prentice Hall, 2011, ISBN-13 978-0-13-212695-3.
None
Melissa Danforth, Marc Thomas
This course covers the following ACM/IEEE CS2013 (Computer Science)
Body of Knowledge student learning outcomes:
Networking and Communication (NC):
CS-NC/Introduction
CS-NC/Networked Applications
CS-NC/Reliable Data Delivery
CS-NC/Routing and Forwarding
CS-NC/Local Area Networks
CS-NC/Resource Allocation
CS-NC/Mobility
Information Assurance and Security (IAS):
CS-IAS/Foundational Concepts in Security
CS-IAS/Threats and Attacks
CS-IAS/Network Security
CS-IAS/Cryptography
The course maps to the following performance indicators for Computer Science
(CAC/ABET):
- (CAC PIa1): Apply and perform the correct mathematical analysis.
- Apply statistical methods including the binomial and Poisson distributions
to analyze common networking scenarios such as Ethernet contention, error
rates, queueing theory, and channel efficiency.
- (CAC PIa2): Prepare and solve the appropriate physical model of the problem.
- Apply Shannon's law and Nyquist's theorem to appropriate models of the
physical layer of the networking stack.
- (CAC PIe2): Recognize and describe current issues in security.
- Describe at least one protocol that adds security to the TCP/IP protocol
stack. Analyze scenarios involving network security such as the
appropriate use of security techniques for a given scenario and the
limitations of common encryption protocols.
- (CAC PIi1): Program in a suitable computer language.
- Use the socket API for the TCP/IP protocol stack to code a simple
client-server application in the C programming language.
- (CAC PIi3): Utilize problem solving skills and techniques to complete
the task.
- Analyze common networking scenarios and apply the appropriate techniques
to derive a solution.
Week | Chapter(s) | Topics |
1 | Chapter 1 |
History of the Internet, Protocol models (OSI, TCP/IP), Standards organizations |
2 | Chapter 2 |
Properties of wired, wireless, and cellular media, Public switched telephone network (modems, DSL) |
3 | Chapter 2 |
Public switched telephone network (T1/E1, SONET), Cellular network (GSM, CDMA, LTE), Cable network (DOCSIS) |
4 | Chapter 3 |
Introduction to statistics needed, Data link layer introduction and error handling |
5 | Chapter 3 |
Data link layer flow control including sliding window protocol |
6 | Chapter 4 |
Sharing a channel on the data link layer, Ethernet |
7 | Chapter 4 |
Ethernet continued, IEEE 802.11 protocols |
8 | Chapters 4 and 5 |
Switching, Virtual LANs, Routing algorithms |
9 | Chapter 5 |
Congestion control and internetworking, Internet Protocol (IP) routing (IPv4, OSPF, BGP) |
10 | Chapter 5 |
IP continued (IPv6, NAT, DHCP, ARP, ICMP) |
11 | Chapter 6 |
Transport Control Protocol (TCP) theory and details |
12 | Chapters 6 and 7 |
User Datagram Protocol (UDP), Domain Name System (DNS) |
13 | Chapter 7 |
Email protocol, Hypertext Transport protocol (HTTP) |
14 | Chapter 8 |
Information security basics, Cryptography basics, Network threats and attacks |
15 | Chapter 8 |
Secure communication over TCP/IP (IPSec, VPNs, SSH, TLS) |
Not applicable to this course.
Melissa Danforth on 31 July 2014
Approved by CEE/CS Department on [date]
Effective Fall 2016