Computer Networks CSC 249, Spring 2017 Professor: Judith Cardell,
[email protected] Office: 352 Ford Hall Office hours: Monday 1-2; Thursday 2:30-3:30 Class Time: MWF, 10:00-10:50, Ford Hall 342 Prerequisites: CSC 111 Text: Computer Networking: A top-down Approach, by James Kurose and Keith Ross, Pearson, 7th ed., 2017.
Topics How does data or information from one computer show up on a different computer? How does email work? - You will write a small email client and server and use it to send messages. Have you ever pinged anyone? Used telnet? Just what happens when you sniff packets? And, what is a packet? What are the pros and cons of "net neutrality" - We will debate this and/or other topics. If you get a message on your phone, how is it that it comes only to your phone and not to your friend right next to you? How does your email message get delivered to the correct person? Can we protect our privacy? Just what is private and what can be public? The techincal details needed to understand all these questions will be studied and practiced.
CSC 249 Class and Assignment Schedule, Spring 2017 Week
Topic
HW due the next FRIDAY (at START of class)
Reading
HW 1: Start using Wireshark Packet Sniffer: Download Wireshark Experiment with Wireshark and Lab 1: Getting Started v7.0 Wireshark Lab Cover Sheet - to hand in with each lab Wireshark Lab Guidelines Wireshark solutions on Moodle
Chapter 1 Possible Project Topics... start finding your own interest The Deep Web and anonymous browser TOR Privacy Security Net neutrality Internet governance, ICANN Bitcoin and blockchain
Introduction Jan 27
Intro Slides
Internet Protocols: Web and email Monday: Delay in the Internet (ch 1) Wednesday: HTTP (ch 1) Friday: SMTP & email
Jan 30
Chapter Problems: Homework Guidelines Homework Cover Sheet - to hand in with each HW set Chapter problems Ch 1 Solutions on Moodle HW 2: Chapter 2 problems Homework Cover Sheet - to hand in with each HW set Wireshark HTTP Wireshark Lab Cover Sheet - to hand in with each lab
Chapter 2
Delay Slides TraceRoute & HTTP HTTP & Telnet slides
HW 3: Application layer: Socket programming SMTP slides DNS slides Sockets I slides
Feb 6
Python socket programming (2 weeks) Simple HTML code that your webserver will serve * DUE in one week * Wireshark DNS lab
Chapter 2 §2.7 and §2.8
Sockets end ... and the Transport Layer Transport services Mux/Demux, Connection Setup; Checksum Reliable Transport
Feb 13
Sockets II Transport slides Reliability slides TCP practice
Chapter 3 §3.1 - §3.4.1; §3.5 SocketsEx1.py SocketsEx2_client.py SocketsEx2_server.py SocketsEx3_client.py SocketsEx3_server.py
HW 3 continued, Due this week UDP Wireshark lab
The Transport Layer TCP Congestion & flow control TCP Wrap-up
Feb 20
HW 4 Chapter 3 problems TCP Wireshark lab (through question 10)
Chapter 3, §3.6 - §3.8
Congestion Control TCP WrapUp The Network Layer Network Layer introduction DHCP & NAT Routing: Link State
Feb 27
Network Layer 1 DHCP & NAT Routing I
HW 5 HW 5 Solution on Moodle
Chapter 4: (note that DHCP & NAT are in §4.3) start Chapter 5 (Link State algorithm)
Routing Algorithms Continued Routing: Distance Vector Routing in the Internet Finish up Chapters 4 and 5 - Network Layer
Mar 6
Network Layer practice problems Practice Solutions
Chapter 5, § 5.1 to 5.6 (skim 5.5)
Distance Vector slides Link State and DV wrap-up Routing in the Internet SPRING BREAK
Mar 13
The Link Layer Midterm Exam on Wednesday Introduction to the Link Layer Ethernet and CSMA ARP
Mar 20
Chapter 6
Link Layer Intro Ethernet Intro to Wireless & Mobility Recap of Protocol Stack and the Layers Wireless network characteristics Mobility Principles & Mobile IP
Mar 27
ARP & Switches Layers Recap Wireless
HW 6 ARP Wireshark lab... 2 weeks, Questions 1-11 only, for guidance, as always.
Chapters 6 and 7
Cellular Networks & Mobility & Security Cellular Mobility Security 1
Apr 3
HW 7 - Complete the ARP lab
Network Security • Digital Signatures, Authentication • Secure email & Trusted Intermediaries • SSL and Firewalls Apr 10 Security 2 Security - PGP Security - SSL & Firewalls
Chapter 8
HW 8 Optional Final Project
Privacy Law History
HW 9 SSL Wireshark lab
Multimedia Streaming Privacy Law Multimedia part 1 Tour of Smith Data Center on Friday
Apr 17
Multimedia Multimedia categories Content distribution networks VoIP Real time streaming protocols
Apr 24
Chapter 9
No HW this week
Chapter 4 & 5, SDN sections
HW 10
Multimedia HTTP Streaming Multimedia VoIP Multimedia Protocols SDN & Course Review
May 1
Software Defined Networks Course review Software Defined Networks Course Review Take Home Final Exam
Course Overview and Objectives The course introduces students to the fundamental concepts in the design and implementation of computer networks, their protocols and applications. Topics to be covered include the layered network architecture model, focusing on the application, transport, network and link layers. There will also be discussions on wireless networking and internet security issues. Individual and team projects will give students the opportunity to investigate additional topics of interest. The objective of this course is to introduce students to computer networks. Through the material presented in this course, students will learn: 1. 2. 3. 4. 5.
Fundamental networking principles, and the current implementation (i.e.,the Internet) The historical layered network architecture model, along with how the model is evolving, To analyze the strengths and benefits of the Internet architecture, including security and privacy issues, The far reaching effects of computer networks on human society, To improve oral and written communication skills
Assignments The schedule below lists the reading for each class period. Students are expected to do the reading before coming to class, in order to be fully prepared to solidify the material in the class period. There will be almost-weekly homework assignments, that will include questions from the text, one programming assignment and a number of labs with Wireshark, a network analyzer. There will also be one midterm exam and a final exam. Wireshark Labs The wireshark network sniffer, packet analyzer can be downloaded from Wireshark. An html version of the user's guide can be found at user's guide.html, and a pdf version of the user's guide can be downloaded from user's guide.pdf. The wireshark user's guide states the following: "This guide is not intended to explain network sniffing in general and it will not provide details about specific network protocols. A lot of useful information regarding these topics can be found at the Wireshark Wiki" Homework format Students are encouraged to work together to understand the concepts, but each student must hand in her own solutions. All assignments are to be neatly written or typed, and stapled, with your name and date. Note that students are expected to follow the Honor Code for all work in this course. Copying on homework or quizzes/exams, and other violations will be brought to the honor board. The purpose of the homework is for you to have the opportunity to practice the skills and concepts from class. Since homework is the time to practice, you are not expected to have perfects solutions at all times. You are expected to do your best work for each problem however. A complete attempt includes identifying what is known, articulating what you are solving, stating any assumptions, properly labeling figures, and clearly and neatly documenting your progression towards a final result. Homework solutions may be compiled from the solutions submitted by the class, so it is very important that your solutions can be clearly understood by all!
Project There will be a small group project in which students will be able to demonstrate their knowledge building during the semester. Intermediate stages of the project (topic selection, bibliography...) will be handed in as homework assignments during the semester. References should following the formatting guidelines in Reference Formatting Guidelines.
Exams There will be one midterm exam in-class and a final, self-scheduled exam, used to solidify concepts and learning assess progress.
Class attendance Students are required to attend class and participate in class discussions and problem solving exercises. The course grade is 20% participation - as important as homework and the project!This means that you must be in class and participate in the discussions to receive full credit for this portion of the course.
Grading Grades in this course are designed to represent your achievement of the objectives listed above. The course components that will make up your grade are listed below. ASSIGNMENT
GRADE CONTRIBUTION
Homework sets & labs
20%
Class particpation
15%
Project
20%
Midterm exam
20%
Final exam
25%
Late Policy All homework assignments are to be submitted at the time specified; late assignments will be penalized at the rate of one point per minute unless you have requested and received and extension at least 24 hours before the deadline. However, each student will have a total of 1 hour (60 minutes) grace time to be used as desired by that student over the course of the semester, such that you can have a semester total of 60 tardy minutes for homework and labs without penalty (note that these minutes cannot be used for in-class reading questions, quizzes or exams).
Honor Code The homework assignments that you submit must be your own work. You are encouraged to discuss the problems and essay questions with your classmates and work on them together, but each student must work out her own answers. It is not okay to copy answers from another student's homework - doing so is a violation of the Honor Code. Note that it is a violation of the honor code to 1) use or copy another student's work, and 2) provide another student with your work. Projects will be done in small groups. Exams must be exclusively each student's own work, following the instructions provided with each exam. Do not hesitate to ask any questions that you may have concerning the honor code!