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)

Relation to Integrated Learning Models (ILM)

Relation to Curriculum 2001 (optional section)