Course Number and Title
CS U640 Network Fundamentals (4 SH)
Course Description
Introduces the fundamental concepts of network protocols and network
architectures. Presents the different harmonizing functions needed for the
communication and efficient operation of computer networks. Provides an in
depth coverage of data link control, medium access control, routing,
end-to-end transport protocols, congestion and flow control, multicasting,
naming, auto-configuration, quality of service, and network management.
The abstract mechanisms and algorithms are studied as implemented in real
world Internet protocols. The most common application protocols (email,
web, and ftp) are also covered. The course has network programming
assignments.
Prerequisites:
CS U480. Students should be prepared to do some programming in the class.
Textbooks:
Possible textbooks:
Computer Networks: A Systems Approach, by Larry L. Peterson & Bruce S.
Davie, Morgan Kaufman Publishers, Third edition 2003.
Computer Networking: A Top-Down Approach Featuring the Internet, by James
F. Kurose, and Keith W. Ross, Pearson Addison Wesley; 2nd edition, 2002.
Topics Covered:
Introduction to Networking
Principles
Terminology
OSI vs. Internet Reference Models
Network Topologies and Architectures
Internet Programming APIs: sockets
Overview of Physical Layer Technologies
Data Link Layer
Framing
Error Detection and Correction
Reliable Transmission
Automatic Repeat reQuest
Stop&Wait
GoBackN
Selective Repeat
Medium Access Control
Contention vs. Reservation
Aloha
Carrier Sense Multiple Access (CSMA)
CSMA with Collision Detection and Collision Avoidance,
Tree-Splitting
Protocol examples
Ethernet (IEEE802.2), IEEE802.11, Token-Ring (IEEE802.5,
FDDI)
Packet Switching
Principles: Switching & Forwarding
Bridges and LAN Switches: Spanning Trees
Cell Switching: Asynchronous Transfer Mode (ATM)
Switching Hardware: Crossbar Switches, Self-Routing
Network Routing
Network as a Graph
Shortest Path Algorithms: Bellman-Ford, Dijkstra
Minimum Spanning Trees: Prim-Dijkstra
Protocols: Distance Vector, Link State
Internet Protocols
Addressing
IP Packet Format
Datagram Forwarding
Internet Routing Protocols
Multicast Routing and Addressing
Address Resolution
Dynamic Configuration
End-to-end protocols
Concepts: Connection vs. Connection less protocols
Simple Multiplexing: UDP
Reliable Transport Protocol: TCP
Resource Allocation
Issues in Resource Allocation
Queuing Algorithms: FIFO, Round-Robin, Weighted Fair Queuing
Congestion Control
Congestion Avoidance
Quality of Service: RSVP, DiffServ, ATM QoS
Reliable Multicast Protocols
End-to-End Data
Standards: XDR, ASN.1
Applications
Naming: Domain Name Services
Electronic Mail: SMTP, MIME
World Wide Web: HTTP
Network Management Protocols: SNMP
Course Outcomes
Upon completion of this course, a student should:
Understand the Internet architecture, its components and mechanisms
Be able to write a network application
Understand in detail the functionalities of all the layers of a
network stack
Understand all the steps from the call to the network API and
packet send until the reception of the packet by the destination
Understand the differences and tradeoffs between various medium
access control, routing, and end-to-end transmission protocols
Be able to design and implement a network protocol
Measurement of Course Outcomes
Midterm exam
Quizzes (optional at discretion of instructor)
Homework:
Written: protocols design and analysis
Programming:
Implementation and evaluation of a network protocol
Implementation of a network application
Final exam or term project
Electronic portfolio (optional at discretion of instructor)