George Mason University
DEPARTMENT OF COMPUTER SCIENCE
Course Description

CS455 Computer Communications and Networking

Section 001 Fall 2009: Monday 7:20 pm - 10:00 pm, Innovation Hall 136

updated Aug 25, 2009

see http://netlab.gmu.edu/compnets



Professor: Dr. J. Mark Pullen, assisted by Nagesh Kakarlamudi, Engineer
Mail drop: CS Dept, 4301 Engineering Building
Office hours Mondays 16:00 to 18:00; also by appointment any mutually convenient time, including weekends
Preferred contact is email: mpullen@gmu.edu

 

Current Catalog Description

Data communication and networking protocols, with study organized to follow layers of the Internet Protocol Suite (TCP/IP family of protocols). Topics include role of various media and software components, local and wide area network protocols, network performance, and emerging advanced commercial technologies.

DESCRIPTION

The course will present techniques and systems for communication of data between computational devices and the layers of the Internet Protocol Suite. Topics include the role of various media and software components, local and wide area network protocols, network design, performance and cost considerations, and emerging advanced commercial technologies. Emphasis is on the TCP/IP family of protocols. The ISO 7-layer reference model to organize the study. Students will program simplified versions of the protocols as part of the course project.

Textbook

* Larry Peterson and Bruce Davie, Computer Networks, A Systems Approach, 4th Edition, Morgan-Kaufmann
* Pullen, Understanding Internet Protocols, Wiley, 2000.

References
James Kurose and Keith Ross, Computer Networking - A Top-Down Approach Featuring the Internet, Addison Wesley, 2004.


Course Outcomes
1. Explain basic electrical engineering principles that enable communication at the physical layer
2. Demonstrate an understanding of wired and wireless data link layer protocols for shared medium and point-to-point communication
3. Demonstrate an understanding of the graph theory concepts required for unicast and multicast routing
4. Demonstrate an understanding of distributed routing protocols
5. Describe how protocols and applications use ARQ algorithms for distributed reliability
6. Demonstrate an understanding of end-to-end transport layer protocols
7. Explain basic concepts in cryptography and networking security protocols.
8. Illustrate fundamental understanding of networking by programming portions of the entire network stack.
9. Demonstrate a basic understanding of performance analysis for computer networking
10. Demonstrate a basic working vocabulary of data communications and networking terminology

Prerequisites by Topic
CS 310 (Data Structures)
CS 365 (Computer Systems Architecture)
STAT 344 (Probability and Statistics for Engineers and Scientists)
These will not be waived not accepted as co-requisites; however equivalent study or experience elsewhere may be accepted at the instructor's discretion.

Major Topics Covered in the Course
1. OSI 7-layer model
2. Flow/error control
3. Medium access control
4. Ethernet
5. Routing
6. Multicasting
7. Internet architecture
8. TCP/UDP protocols
9. Multimedia networking
10. Security

The grading breakdown is as follows:
* 30% Projects
* 10% Homework assignments
* 25% Midterm exam
* 35% Final exam

Project: We will use the Java Network Workbench (JNW), software developed at GMU that simulates a protocol stack and displays the results, using a text interface. Students will create modules for Internet stack layers and run them in the JNW environment, as described in the required text by Pullen. JNW is available for download from http://netlab.gmu.edu/compnets. Well commented code must be submitted for grading via an upload webpage at http://netlab.gmu.edu/CS455-upload. Additional projects will be available for extra credit. Student problems with the project are to be addressed to the TA, who may refer them the instructor as needed. Additional project information will be found at http://netlab.gmu.edu/JNWS.

Project credit breakout: JDLC1, JDLC2, JLAN1, JWAN2, JTRN1, JTRN2 five points each; extra credit assignments to be announced.

Missed exams must be arranged with the instructor BEFORE the exam date.

Assignments are due by 17:30 on assigned date. Late assignments lose 10% per class credit. No project submission will be accepted after last lecture day (11/30/2008).

All students are expected to abide by the Honor Code as stated in the GMU catalog and elaborated for Computer Science. Students should be aware that their submissions may be checked by plagiarism detection software.

Grading is proficiency-based (no curve), cutoffs will be in the vicinity of (but not higher than) A  93; A- 90; B+ 87; B 83; B- 80; C 70.

Extra credit is available by doing extra projects; however, no student who fails the final exam will receive a grade higher than C, regardless of extra credit earned.
 

SYLLABUS (subject to revision)
date and topic/readings in Peterson text/project assignment

8-31 (JMP) Course introduction; network concepts; 7-layer and 5-layer models / Sections 1.1 to 1.4 / JNW Setup introduced

9-7 No class (Labor Day holiday)

9-14 (NK) Physical layer: analog telecommunications / Section 1.5 / Project JDLC1: bit stuffing introduced

9-21 (JMP) Physical layer: digital telecommunications / Sections 2.1 & 2.2

9-28 Data compression, security principles, integrity, appropriate use / Sections 2.3, 2.4 & 7.2 / Project JDLC1 due

10-5 (JMP) Data link control; discrete event simulation / Section 2.5 / Project JDLC2: CRC introduced

10-13 Mid-term exam (NOTE: this is a Tuesday)

10-19 (NK) Local area networks / Sections 2.6 to 2.9 / Project JLAN1: CSMA/CD LAN introduced

10-26 (NK) Network Layer: WANs, X.25, routing / Chapter 3 except Section 3.3; Project JDLC2 due

11-2 (JMP) Internet Architecture (IPv4); Metcalfe’s Law /Chapter 4/ Project JWAN2: Forwarding and Routing introduced; Project JLAN1 due

11-9 Queueing basics; transport layer: TCP and UDP; IPv6 / Chapter 5 & Sections 6.1 to 6.4 / Project JTRN1: Reliable Transport introduced

11-16 Multicast, multimedia and ATM networking /Section 6.5, 7.1 & 3.3 / Project JTRN2: congestion window introduced; Project JWAN2 due

11-23 Network Security and Network Management / Chapter 8 / Project JTRN1 due

11-30 no class; work on project

12-7 Higher layer protocols / Chapter 9; Project JTRN2 due; any extra credit projects due; no project submission accepted after this day

12-14 Final exam (comprehensive) / all chapters listed above / Exam location: classroom

Course communication: we will use email extensively. Students are responsible to read email daily. Announcements will be sent to the class email list, which consists of GMU email accounts.

Course notices and assignments will be provided via email. Course materials (for example, homework solutions) will be available though the course webpage, http://netlab.gmu.edu/compnets. Students are responsible for assigned readings and all material outlined in lecture slides.

University Requirements

  • Academic Honesty and Honor Code Statement.

  • Disability Statement
  • CS Department Honor Code