CS 352 Fall 2020 Overview

Summary:

This course covers the technology and theortical foundations underlying the Internet and computer networks. The course follows a top down approach; we begin with higher layer protocols and follow the networking stack down to the lower layers. Topics in the theory of computer networking are covered, including queuing theory and management. Securing communications is reviewed at the end of the course.

The course work consists of weekly homeworks, a serial programming project building a small web server in Java, two assigments where network traffic is analyized, and a final exam.

Instructors:

Sections 01,02 and H1: Richard Martin, rmartin AT scarletmail.rutgers.edu

Sections 03,04 and 05: John-Austen Francisco, deymious AT yahoo.com

Textbook: Computer Networking, James Kurose and Keith Ross, sixth edition.


Course Times:

Sections 01 and 02: Asynchronous Remote, by arraignment, see the Sakai Site.

Sections 03,04 and 05:
Lecture Time: Tuesday and Thursday, 8:10PM-9:30PM
Recitations:
Section 03: Wed. 6:55–7:50 PM
Section 04: Mon. 6:55–7:50 PM
Section 05: Tue. 5:15–6:10 PM
H1: (Honors Section): Wed. 1:55PM-2:50PM


Office hours: On Piazza, see the Sakai Site



Honors Section: Section H1 is open to students in the various honors programs as well as advanced students by special permission. The programming project will be different from the main sections. The programming project will have students build a networking function of their choice in the Go language. The code will be synthesized and run on an FPGA as well as a CPU. The recitation will be synchronous, (Wed. 1:55-2:50PM )and taught by Prof. Martin. Advanced students interested in this section should contact Prof. Martin.


Programming Project: The programming project will build a small web server in Java in 3 parts. The first part will build a sub-set of the HTTP protocol. The second part will entend the first part by adding the POST method and MIME types to the messages. The final part will add encryption and the Common Gateway Interface to the server.


Wireshark Labs: Students will use the Java pcap libraries to analyze logged network traffic at various level of the stack, including layers 2,3 and 4.

Teaching Assistants: TBA

Grading:

1.      12 on-line weekly home works: 36% total, 3% each, no late home works

2.      2 Wireshark labs: 20% total, 10% each, no late labs

4.      3 Programming assignments (3): 36%, 10%, 12%, 14%, late assignments get a 50% point reduction.

5.      On-line final exam: 8%

 Click here to goto the main Sakai Site



Week

Dates

Topics

Book Chapters from
Kurose & Ross

Java
Readings

Homework See: Sakai

Tests & Quizzes

Assignments:

See Sakai

Assignments

Exam

1

Aug. 30-Sept. 5

Introduction
Layering

1.1-1.3,1.5

Sockets
Threads

Homework 1



2

Sept. 6-12

Sockets
Threads
Switching

1.4,1.6-1.8


Homework 2



3

Sept. 13-19

Application Layer
DNS

2.1-2.5

Pcap libraries

Homework 3



4

Sept. 20-26

Transport Algorithms

3.1-3.4



HTTP v0.8


5

Sept. 27-Oct. 3

UDP and TCP

3.5-3.8

Mime libraries

Homework 4



6

Oct. 4-10

Queuing Theory
M/M/1 queues

Handout


Homework 5



7

Oct. 11-17

Queue management

7.5.1, 7.5.2


Homework 6

Wireshark Lab 1


8

Oct. 18-24

Routing
Internet Protocol

4.1-4.4


Homework 7



9

Oct. 25-31

Routing Algorithms

4.5-4.6


Homework 8



10

Nov. 1-7

Peer-2-Peer

2.6, slides



HTTP 1.0+MIME


11

Nov. 8-14

Link Layer part 1

5.1-5.4


Homework 9



12

Nov. 15-21

Link Layer part 2
Wireless

5.5-5.8
6.1-6.4

HTTPS+CGI

Homework 10

Wireshark Lab 2


13

Nov. 22-28

Security Part 1

8.1-8.4


Homework 11



14

Nov. 29-Dec. 5

Security Part 2

8.5-8.10





15

Dec. 6-12

Slack



Homework 12

HTTPS+CGI


16

Dec. 13






Final