Difference between revisions of "Syllabus"

From CSE473 Wiki
Jump to navigation Jump to search
 
(521 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Syllabus==
+
==Fall 2019 Syllabus & Schedule (subject to change as needed) -  <span style="color: red; text-decoration:blink;">(REVISED FOR FALL 2019) </span>==
{|
+
 
 +
===Schedule at-a-glance===
 +
 
 +
'''Legend'''
 +
{| class="wikitable" style="text-align: center; color: black; border-style: solid; border-width: 2px"
 +
! Lab
 +
! Quiz
 +
! Exam
 +
! No class
 +
|-
 +
| style="background-color: SpringGreen;"|<br>
 +
| style="background-color: SkyBlue;"|<br>
 +
| style="background-color: yellow;"|<br>
 +
| style="background-color: red;"|<br>
 +
|}
 +
 
 +
{| class="wikitable" style="text-align: center; color: black; border-style: solid; border-width: 2px"
 +
!
 +
! Mon
 +
! Wed
 +
! Mon
 +
! Wed
 +
! Mon
 +
! Wed
 +
! Mon
 +
! Wed
 +
! Mon
 +
! Wed
 +
|-
 +
! style="text-align:left;"| August
 +
| 26 || 28
 +
|-
 +
! style="text-align:left;"| September
 +
| style="background-color: Red;" | 2 || style="background-color: SpringGreen;"| 4 ||style="background-color: SkyBlue;"| 9 ||  11 || 16 || style="background-color: SpringGreen;"| 18 || 23 || 25 ||style="background-color: SkyBlue;"|  30
 +
|-
 +
! style="text-align:left;"| October
 +
||  || 2 || 7 ||style="background-color: SpringGreen;"| 9 ||style="background-color: Red;"| 14 || 16 ||style="background-color: Yellow;"| 21 || 23 ||style="background-color: SpringGreen;"| 28 || 30
 +
|-
 +
! style="text-align:left;"| November
 +
| style="background-color: SkyBlue;"| 4 || 6 || 11 || 13 || style="background-color: SpringGreen;"| 18 || 20 ||style="background-color: SkyBlue;"| 25 || style="background-color: Red;"| 27
 +
|-
 +
! style="text-align:left;"| December
 +
|style="background-color: SpringGreen;"| 2 ||style="background-color: Yellow;"| 4 || || || ||
 +
|}
 +
 
 +
<!-- <span style="color: red; text-decoration:blink;">'''FINAL EXAM: Wednesday December 18, 2019, 1:00-3:00pm in <u>TBD.</u>'''</span> -->
 +
 
 +
===Detailed Schedule & Syllabus===
 +
'''NOTE''':  This schedule is '''TENTATIVE''', and may change as certain topics may end-up being harder or easier than anticipated.  Changes to the schedule will be reflected as quickly as possible on this page.
 +
 
 +
The different columns in the schedule are as follows:
 +
* The '''Scope''' column provides a brief description of the material to be covered in each lecture. 
 +
* As its name indicates, the '''Reading Assignments''' column identifies what you need read <u>'''ahead'''</u> of the corresponding lecture.  It usually consists of chapters or sections in the textbook, or some external material from IETF RFCs.  It also includes optional reading material (in the line starting with '''"FYI"''') that can provide additional useful insight into the topic at hand.
 +
* The '''Slides''' column gives a pointer to the set of slides (in PowerPoint format) that will typically be covered during the lectures.  The slides also include some useful exercises to test understanding of the material they cover.
 +
* The '''Review Questions''' column provides pointers to review questions (in MS Word format) that need to be handed-in at the start of the corresponding class and that are based on the reading material for the class.  Review Question ''i'' is due at the beginning of Lecture ''i''.
 +
* Finally the '''Labs/Quizzes''' column identifies dates when either quizzes will be given at the start of class (<span style="color: blue;">blue-colored</span> entries), or when labs are due (<span style="color: green;">green-colored</span> entries).
 +
 
 +
==August==
 +
{|class="wikitable"
 
! style="text-align:left;"| Date
 
! style="text-align:left;"| Date
 
! Scope  
 
! Scope  
! Notes & slides
 
 
! Reading Assignments
 
! Reading Assignments
 +
! Slides
 
! Review Questions
 
! Review Questions
 
! Labs/Quizzes
 
! Labs/Quizzes
 
|-
 
|-
| 8/26 || A brief overview of the Internet, its components, and performance aspects || || Chapter 1, RFC 1958, RFC 3439 || NA || NA
+
| 8/26 || A brief overview of the Internet, its components, and performance aspects || Chapter 1, RFC 1958<br/> '''FYI''': RFC 3439 (especially Section 5)||[https://www.dropbox.com/s/sivkka4rqgyzon4/intro.pptx?dl=0 Lecture 1] ||  - ||  -
 +
|-
 +
| 8/28 || Transport layer overview and socket programming (mostly UDP, but we'll quickly cover TCP as well) || Sections 2.7.1, 3.1-3.3<br/> '''FYI''': [http://docs.oracle.com/javase/tutorial/networking/sockets/index.html Java sockets tutorial], [https://www.elsevier.com/books/tcp-ip-sockets-in-java/calvert/978-0-12-374255-1 TCP/IP Socket in Java (book)] || [https://www.dropbox.com/s/016cal7c9eap4xz/socket.pptx?dl=0 Lecture 2] || Review Questions for lecture 2 ([https://www.dropbox.com/s/0tlpl15fzf12w1p/Rq2.docx?dl=0 rq2.docx]) ||  
 +
|}
 +
 
 +
==September==
 +
{|class="wikitable"
 +
! style="text-align:left;"| Date
 +
! Scope
 +
! Reading Assignments
 +
! Slides
 +
! Review Questions
 +
! Labs/Quizzes
 
|-
 
|-
| 8/28 || Network applications & the web || || Chapter 1, Sections 2.1, 2.2, RFC 2616 || ||  
+
|style="background-color: Red;"| 9/2 ||style="background-color: Red;"| '''LABOR DAY''' ||style="background-color: Red;"| '''NO CLASS''' ||style="background-color: Red;"| ||style="background-color: Red;"| ||style="background-color: Red;"|
 
|-
 
|-
| 9/2 || The Domain Name System (DNS) || || Section 2.5, RFC 1034, RFC 1035 || ||
+
|style="background-color: SpringGreen;"| 9/4 || Network applications & the web || Chapter 1, Sections 2.1, 2.2<br/> '''FYI''': RFC 2616, RFC 7540 ||[https://www.dropbox.com/s/5q0y7l1mddcht8d/apps.pptx?dl=0 Lecture 3]] || Review Questions for lecture 3 [https://www.dropbox.com/s/avjps4ypg4pxjbv/Rq3.docx?dl=0 (rq3.docx)]||style="background-color: SpringGreen;"| [https://www.dropbox.com/s/mhgpt1rhpy7d5ay/lab1-2018.docx?dl=0 Lab1 Due], [https://www.dropbox.com/s/m4o9v896b0tm9ge/lab1_2015_notes.pdf?dl=0 Notes about lab1 from 2015]] , [https://www.dropbox.com/s/yggbq8q3zuurldo/lab1_2014_feedback.pdf?dl=0 Feedback about lab1 from 2014]
 
|-
 
|-
| 9/4 || Transport layer overview and socket programming (UDP) || || Sections 3.1-3.3, 2.7.1, [http://docs.oracle.com/javase/tutorial/networking/sockets/index.html Java sockets tutorial] || ||
+
|style="background-color: SkyBlue;"| 9/9 || The Domain Name System (DNS) || Section 2.4<br/> '''FYI''': RFC 1034, RFC 1035, [http://www.experts-exchange.com/Networking/Protocols/DNS/A_10297-DNS-Glue-WHAT-and-WHY.html A useful discussion of the need for and use of GLUE records] ||[https://www.dropbox.com/s/85t85jf6hsn0855/dns.pptx?dl=0 Lecture 4] || Review Questions for lecture 4 ([https://www.dropbox.com/s/fjwk42851gq1bs7/Rq4.docx?dl=0 rq4.docx])||style="background-color: SkyBlue;"|Quiz 1
 
|-
 
|-
| 9/9 || File transfer application (FTP) and email application (SMTP) || || Sections 2.3 & 2.4, RFC 959, RFC 2821 || ||
+
|9/11 || File transfer application (FTP) and email application (SMTP) || Sections 2.3, RFC 959, RFC 4254 <br/> '''FYI''': RFC 2821, [http://slacksite.com/other/ftp.html A discussion of the difference between active and passive FTP] || [https://www.dropbox.com/s/bkl7cfxvy4x2j72/ftp_et_al.pptx?dl=0 Lecture 5] || Review Questions for lecture 5 ([https://www.dropbox.com/s/a3k1cv0xg5ys9qs/Rq5.docx?dl=0 rq5.docx]) ||<!-- and [[Media:Lab1report_sol.pdf | solution]] -->
 
|-
 
|-
| 9/11 || Other useful Internet protocols & mechanisms: ICMP, DHCP, NATs || || Section 4.4 (pp. 345-355), RFC 792, RFC 2131, RFC 2663, RFC 2131 || ||  
+
| 9/16 || P2P applications - BitTorrent and DHTs || Section 2.5 <br/> [https://www.cs.cmu.edu/~dga/15-744/S07/lectures/16-dht.pdf CMU Lecture on DHTs] || [https://www.dropbox.com/s/uy9h6f7vrjmyhen/p2p.pptx?dl=0 Lecture 6 ]  || Review Questions for lecture 6 ([https://www.dropbox.com/s/n4ygvfaoezpy07c/Rq6.docx?dl=0 rq6.docx]) ||
 
|-
 
|-
| 9/16 || P2P applications || || Section 2.6 || ||
+
|style="background-color: SpringGreen;"| 9/18 || Principles of reliable data transport || Section 3.4 || [https://www.dropbox.com/s/vzdifefdck70t7g/rdt1.pptx?dl=0 Lecture 7 ]  || Review Questions for lecture 7 ([https://www.dropbox.com/s/pvqcjwa9maauvv8/Rq7.docx?dl=0 rq7.docx]) ||style="background-color: SpringGreen;"|[https://www.dropbox.com/s/nlpfqihrljb4vh6/lab2-2018.docx?dl=0 Lab 2 Due]
 
|-
 
|-
| 9/18 || Principles of reliable data transport || || Section 3.4 || ||
+
|9/23 || Principles of reliable data transport (contd.) || Section 3.4 || [https://www.dropbox.com/s/jhx4ctb3chn0g6x/rdt2.pptx?dl=0 Lecture 8]  || NO REVIEW QUESTIONS ||
 
|-
 
|-
| 9/23 || A closer look at TCP || || Sections 3.5, 2.7.2 || ||
+
| 9/25 || A closer look at TCP || Sections 3.5, 2.7.2 || [https://www.dropbox.com/s/8gy8y9xuvt4mm85/tcp1.pptx?dl=0 Lecture 9 ] || Review Questions for lecture 9 ([https://www.dropbox.com/s/4us51lcpxgmy5m8/Rq9.docx?dl=0 rq9.docx]) ||  
 
|-
 
|-
| 9/25 || TCP flow and congestion control || || Sections 3.6, 3.7, RFC 5681, RFC 6582 || ||
+
|style="background-color: SkyBlue;"| 9/30 || TCP flow and congestion control || Sections 3.6, 3.7<br/> '''FYI''': RFC 5681, RFC 6582 || [https://www.dropbox.com/s/yq8ncgq63rqlnjt/tcp2.pptx?dl=0 Lecture 10] || Review Questions for lecture 10 ([https://www.dropbox.com/s/g1m2az2xfs1nij7/Rq10.docx?dl=0 rq10.docx]) ||style="background-color: SkyBlue;"| Quiz 2
 +
|}
 +
 
 +
==October==
 +
{|class="wikitable"
 +
! style="text-align:left;"| Date
 +
! Scope
 +
! Reading Assignments
 +
! Slides
 +
! Review Questions
 +
! Labs/Quizzes
 
|-
 
|-
| 9/30 || IPv4 protocol and Internet routers (IP addresses & subnets, router architecture) || || Sections 4.1-4.3, 4.4 (up to p. 345), RFC 1812 || ||
+
| 10/2 || TCP flow and congestion control (contd.) || Sections 3.6, 3.7<br/> '''FYI''': RFC 5681, RFC 6582 || [https://www.dropbox.com/s/xmlleb8kf16v9pa/tcp3.pptx?dl=0 Lecture 11]<br/> [https://www.dropbox.com/s/aqtcl5jdxm8bygf/tcp3-adam.pptx?dl=0 Lecture 11 - Alternate slide-deck] || Review Questions for lecture 11 ([https://www.dropbox.com/s/bbt3svhkxfzg84e/Rq11.docx?dl=0 rq11.docx])||
 
|-
 
|-
| 10/2 || Routing (shortest path) algorithms || || Section 4.5 || ||
+
| 10/7 || Other useful Internet protocols & mechanisms:  ICMP, DHCP, NATs || Sections 5.6, 4.3.4, pp. 342-345<br/> '''FYI''': RFC 792, RFC 2131, RFC 2131, RFC 2663 || [https://www.dropbox.com/s/tvxh6qdk7qv4xwa/other_prots.pptx?dl=0 Lecture 12] || Review Questions for lecture 12 ([https://www.dropbox.com/s/y3kszw6yooxc24d/Rq12.docx?dl=0 rq12.docx]) ||
 
|-
 
|-
| 10/7 || Intra-domain rouging protocols, i.e., OSPF, IS-IS, EIGRP || || Sections 4.6.1-2, RFC 2328, RFC 1195, [http://ccrg.soe.ucsc.edu/publications/interop94.pdf EIGRP paper] || ||
+
|style="background-color: SpringGreen;"| 10/9 || IPv4 protocol and Internet routers (IP addresses & subnets, router architecture)  || Sections 4.1-4.3 (up to p. 341)<br/> '''FYI''': RFC 1812 || [https://www.dropbox.com/s/qh18cosv31ulh2m/IP%2Brouter.pptx?dl=0 Lecture 13] || Review Questions for lecture 13 ([https://www.dropbox.com/s/kn3ylot68ichxun/Rq13.docx?dl=0 rq13.docx]) ||style="background-color: SpringGreen;"|[https://www.dropbox.com/s/jlt2qeb6j4g36bc/lab3-2018.docx?dl=0 Lab 3 Due]
 
|-
 
|-
| 10/9 || Review session || || || ||
+
|style="background-color: red;"| 10/14 || style="background-color: red;"| '''FALL BREAK''' ||style="background-color: red;"| '''NO CLASS''' ||style="background-color: red;"| ||style="background-color: red;"| ||style="background-color: red;"|
 
|-
 
|-
| 10/14 || '''IN CLASS MIDTERM''' || || || ||
+
| 10/16 || Review session || [[Media:Midterm_2015_review.pdf | Exam 1 review]] <!-- and [[Media:Midterm_2015_review_solution.pdf | solution]] --> || - || - || -
 
|-
 
|-
| 10/16 || Intra-domain rouging protocols, i.e., OSPF, IS-IS, EIGRP (contd.) || || Sections 4.6.1-2, RFC 2328, RFC 1195, [http://ccrg.soe.ucsc.edu/publications/interop94.pdf EIGRP paper] || ||
+
|style="background-color: yellow;"| 10/21 ||style="background-color: yellow;"| '''Exam 1 (in class)''' ||style="background-color: yellow;"| ||style="background-color: yellow;"| ||style="background-color: yellow;"| ||style="background-color: yellow;"|
 
|-
 
|-
| 10/21 || Inter-domain routing (BGP) || || Section 4.6.3, RFC 4271, Avi Freedman BGP tutorials ([http://freedman.net/bgbgp.ppt BGP1] and [http://freedman.net/bgp102.ppt BGP2]) || ||
+
| 10/23 || Routing (shortest path) algorithms || Section 5.2 || [https://www.dropbox.com/s/wi8unkqbmabn53v/routing1.pptx?dl=0 Lecture 14] || Review Questions for lecture 14 ([https://www.dropbox.com/s/9f6u97q8i6ez0qp/Rq14.docx?dl=0 rq14.docx]) ||  
 
|-
 
|-
| 10/23 || Multicast routing || || Section 4.7, RFC 2236 (Sections 1-3), RFC 3376 (Sections 1-6), RFC 4601 (Sections 1-3), RFC 4607 (Sections 1-6) || ||
+
|style="background-color: SpringGreen;"| 10/28 || Intra-domain rouging protocols, i.e., OSPF, IS-IS, <s>EIGRP</s>  <br/> (MAY SKIP THIS LECTURE IF WE HAVE FALLEN BEHIND. IT'S MOSTLY DETAILS ABOUT OSPF AND IS-IS) || Section 5.3, [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.75.9870&rep=rep1&type=pdf <s>EIGRP paper</s>]<br/> '''FYI''': RFC 2328, RFC 1195 ||[https://www.dropbox.com/s/o3yclz51jfs05bp/routing2.pptx?dl=0 Lecture 15] || Review Questions for lecture 15 ([https://www.dropbox.com/s/asogiuym935637v/Rq15.docx?dl=0 rq15.docx]) ||style="background-color: SpringGreen;"| [https://www.dropbox.com/s/4go1jfoi0xl1t6e/lab4-2018.docx?dl=0 Lab 4 Due]
 
|-
 
|-
| 10/28 || Link layer & Ethernet || || Section 5.1-5.6, [http://en.wikipedia.org/wiki/Spanning_Tree_Protocol Spanning Tree Protocol], RFC 826 || ||
+
| 10/30 || Inter-domain routing (BGP) || Section 5.4<br/> '''FYI''': RFC 4271, Avi Freedman BGP tutorials ([http://freedman.net/bgbgp.ppt BGP1] and [http://freedman.net/bgp102.ppt BGP2]) || [https://www.dropbox.com/s/vc1ms3x7g0kv1r4/routing3.pptx?dl=0 Lecture 16] || Review Questions for lecture 16 ([https://www.dropbox.com/s/mic69vzsn1k3tlw/Rq16.docx?dl=0 rq16.docx]) ||
 +
|}
 +
 
 +
==November==
 +
{|class="wikitable"
 +
! style="text-align:left;"| Date
 +
! Scope
 +
! Reading Assignments
 +
! Slides
 +
! Review Questions
 +
! Labs/Quizzes
 
|-
 
|-
| 10/30 || Link layer & Ethernet (contd.) || || Section 5.1-5.6, [http://en.wikipedia.org/wiki/Spanning_Tree_Protocol Spanning Tree Protocol], RFC 826 || ||
+
|style="background-color: SkyBlue;"| 11/4 || Multicast routing || RFC 5110, [https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipmulti_pim/configuration/15-s/imc-pim-15-s-book/imc_tech_oview.pdf Cisco Multicast Technology Overview]<br/> '''FYI''': RFC 2236 (Sections 1-3), RFC 3376 (Sections 1-6), RFC 4541 (Section 2), RFC 4601 (Sections 1-3), RFC 4607 (Sections 1-6) || [https://www.dropbox.com/s/ef49xvwy784urfc/mcast.pptx?dl=0 Lecture 17] || Review Questions for lecture 17 ([https://www.dropbox.com/s/jepi8ruuwr416q6/Rq17.docx?dl=0 rq17.docx]) ||style="background-color: SkyBlue;"| Quiz 3
 
|-
 
|-
| 11/4 || Wireless & WiFi || || Sections 6.1-6.3 || ||  
+
| 11/6 || Link layer & Ethernet || Section 6.1-6.6, [http://en.wikipedia.org/wiki/Spanning_Tree_Protocol Spanning Tree Protocol]<br/> '''FYI''': RFC 826 || [https://www.dropbox.com/s/qvi6loseg9yjtts/lan.pptx?dl=0 Lecture 18] || Review Questions for lecture 18 ([https://www.dropbox.com/s/tiwu7q0a0y6ddxs/Rq18.docx?dl=0 rq18.docx]) ||
 
|-
 
|-
| 11/6 || Cellular networks & mobility || || Sections 6.4-6.8 || ||
+
|11/11 || Link layer & Ethernet (contd.) || [https://paulgorman.org/technical/vlan-tutorial/ A basic VLAN tutorial], [https://archive.nanog.org/meetings/nanog49/presentations/Sunday/mpls-nanog49.pdf NANOG 49 MPLS presentation] <br/> '''FYI''': [https://www.practicalnetworking.net/stand-alone/vlans/ Another slightly more detailed VLAN tutorial], [https://www.cisco.com/c/dam/global/fr_ca/training-events/pdfs/Intro_to_mpls.pdf Cisco's MPLS Introduction] || [https://www.dropbox.com/s/q6nclllocs32tus/lan2%2Be2e.pptx?dl=0 Lecture 19] || NO REVIEW QUESTIONS ||
 
|-
 
|-
| 11/11 || IPv6 || || Section 4.4.4, RFC 2460 || ||
+
| 11/13 || Wireless & WiFi || Sections 7.1-7.3 || [https://www.dropbox.com/s/odvouzs6eircy7k/wifi.pptx?dl=0 Lecture 20]  || Review Questions for lecture 20 ([https://www.dropbox.com/s/opbpreuhor8slf4/Rq20.docx?dl=0 rq20.docx])||
 
|-
 
|-
| 11/13 || Security - A cryptography primer || || Sections 8.1-8.3 || ||
+
|style="background-color: SpringGreen;"| 11/18 || Cellular networks & mobility || Sections 7.4-7.8 <br/> '''FYI''': RFC 3344, RFC 5944 || [https://www.dropbox.com/s/ukxof1m6uxsjcqj/mobile.pptx?dl=0 Lecture 21] || Review Questions for lecture 21 ([https://www.dropbox.com/s/8qy6w8b0w4ugobw/Rq21.docx?dl=0 rq21.docx])||style="background-color: SpringGreen;"| [https://www.dropbox.com/s/sp1x2sx8et0u607/lab5-2018.docx?dl=0 Lab 5 Due]
 
|-
 
|-
| 11/18 || Security protocols || || Sections 8.4-8.8 || ||
+
| 11/20 || IPv6 (will skip and cover if time permits after security)|| Section 4.3.5<br/> '''FYI''': RFC 2460 || [https://www.dropbox.com/s/7wpqf9umiga8jqf/ipv6.pptx?dl=0 Lecture 22 ]] || Review Questions for lecture 22 <!--([https://www.dropbox.com/s/26ztc3e5zpjhwt6/Rq22.docx?dl=0 rq.22docx]) --> CANCELLED ||  
 
|-
 
|-
| 11/20 || Attacks and defense systems || ||
+
| style="background-color: SkyBlue;"| 11/25 || Security protocols <br/> Attacks and defense systems ||  
* Section 8.9
+
* Chapter 8 (Sections 8-2 and 8-3 provide important background information), [https://www.thegeekstuff.com/2011/01/iptables-fundamentals/ tutorial on Iptables], [http://student.ing-steen.se/wlan/iptables/iptables-1.PPT presentation on IP tables]<br/>
* Overview: [http://pages.arbornetworks.com/rs/arbor/images/WISR2014.pdf Arbor Networks worldwide infrastructure security report (2014)]
+
'''FYI'''
 +
* Overview: [https://www.netscout.com/sites/default/files/2019-03/SECR_005_EN-1901%E2%80%93WISR.pdf Netscout worldwide infrastructure security report (2018)]
 +
** See also [https://www.akamai.com/us/en/multimedia/documents/state-of-the-internet/soti-summer-2018-web-attack-report.pdf Akamai's state of the Internet security - Summer 2018] for a recent perspective
 
* DoS & DDoS:
 
* DoS & DDoS:
** Attacks: [http://cseweb.ucsd.edu/~savage/papers/Tocs06.pdf Inferring Internet Denial-of-Service Activity], RFC 4948, [http://staff.washington.edu/dittrich/misc/ddos/ Distributed Denial of Service (DDoS) Attacks/tools]]
+
** Attacks: [http://cseweb.ucsd.edu/~savage/papers/Tocs06.pdf Inferring Internet Denial-of-Service Activity], RFC 4948, [http://staff.washington.edu/dittrich/misc/ddos/ Distributed Denial of Service (DDoS) Attacks/tools]
** Defenses:  RFC 2827 (BCP 38), RFC 3704 (BCP 84), RFC 5635, [https://www.nanog.org/meetings/nanog28/presentations/sink.pdf Sink Holes (NANOG presentation)], [https://www.nanog.org/meetings/nanog30/presentations/morrow.pdf Customer-Triggered Real-Time Blackholes (NANOG presentation)]
 
* DNS (Attacks & Defenses): RFC 3833, RFC 4778
 
 
* Routing
 
* Routing
 
** Attacks: [http://tools.ietf.org/html/draft-ietf-rpsec-bgpattack-00 An Attack Tree for the Border Gateway Protocol], RFC 4272, [http://www.renesys.com/wp-content/uploads/2013/05/blackhat-09.pdf Defending against BGP man-in-the-middle attacks]
 
** Attacks: [http://tools.ietf.org/html/draft-ietf-rpsec-bgpattack-00 An Attack Tree for the Border Gateway Protocol], RFC 4272, [http://www.renesys.com/wp-content/uploads/2013/05/blackhat-09.pdf Defending against BGP man-in-the-middle attacks]
 
** Defenses: RFC 5082, [http://www.renesys.com/wp-content/uploads/2013/05/blackhat-09.pdf Defending against BGP man-in-the-middle attacks], [https://datatracker.ietf.org/doc/draft-ietf-sidr-bgpsec-overview/ An overview of BGPSEC]  
 
** Defenses: RFC 5082, [http://www.renesys.com/wp-content/uploads/2013/05/blackhat-09.pdf Defending against BGP man-in-the-middle attacks], [https://datatracker.ietf.org/doc/draft-ietf-sidr-bgpsec-overview/ An overview of BGPSEC]  
|| ||
+
* Firewalls
 +
** [https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html another but much more comprehensive tutorial on Iptables]
 +
** [http://ipset.netfilter.org/iptables.man.html Iptables man page]
 +
** [https://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html Page with various extensions to Iptables]
 +
** [https://crypto.stanford.edu/cs155old/cs155-spring09/papers/bellovin-cheswick.pdf Network Firewalls], a paper by Bellovin and Cheswick that provides a high level description of firewalls, their functionality and the mechanisms they rely upon (Bellovin and Cheswick also have a [https://www.amazon.com/Firewalls-Internet-Security-Repelling-Hacker/dp/020163466X classic book] on the topic).
 +
|| [https://www.dropbox.com/s/nyc9y06tffwt5w3/sec.pptx?dl=0 Lecture 23] || Review Questions for lecture 23 ([https://www.dropbox.com/s/3bh8bt8qh9x0cwg/Rq23.docx?dl=0 rq23.docx]) ||style="background-color: SkyBlue;" | Quiz 4
 
|-
 
|-
| 11/25 || Attacks and defense systems (contd.) || || || ||
+
|style="background-color: Red;"|  11/27 || style="background-color: Red;"| '''THANKSGIVING BREAK''' ||style="background-color: Red;"| '''NO CLASS''' ||style="background-color: Red;"| ||style="background-color: Red;"| ||style="background-color: Red;"|
 +
|}
 +
 
 +
==December==
 +
{|class="wikitable"
 +
! style="text-align:left;"| Date
 +
! Scope
 +
! Reading Assignments
 +
! Slides
 +
! Review Questions
 +
! Labs/Quizzes
 
|-
 
|-
| 11/27 || '''NO CLASS - THANKSGIVING'''
+
|style="background-color: SpringGreen;"| 12/2 || Security protocols <br/> Attacks and defense systems (contd.) ||  
|-
+
* Chapter 8 (Sections 8-2 and 8-3 provide important background information), [https://www.thegeekstuff.com/2011/01/iptables-fundamentals/ tutorial on Iptables], [http://student.ing-steen.se/wlan/iptables/iptables-1.PPT presentation on IP tables]<br/>
| 12/2 || Attacks and defense systems (contd.) || || || ||
+
'''FYI'''
 +
* Overview: [https://www.netscout.com/sites/default/files/2019-03/SECR_005_EN-1901%E2%80%93WISR.pdf Netscout worldwide infrastructure security report (2018)]
 +
** See also [https://www.akamai.com/us/en/multimedia/documents/state-of-the-internet/soti-summer-2018-web-attack-report.pdf Akamai's state of the Internet security - Summer 2018] for a recent perspective
 +
* DoS & DDoS:
 +
** Attacks: [http://cseweb.ucsd.edu/~savage/papers/Tocs06.pdf Inferring Internet Denial-of-Service Activity], RFC 4948, [http://staff.washington.edu/dittrich/misc/ddos/ Distributed Denial of Service (DDoS) Attacks/tools]
 +
* Routing
 +
** Attacks: [http://tools.ietf.org/html/draft-ietf-rpsec-bgpattack-00 An Attack Tree for the Border Gateway Protocol], RFC 4272, [http://www.renesys.com/wp-content/uploads/2013/05/blackhat-09.pdf Defending against BGP man-in-the-middle attacks]
 +
** Defenses: RFC 5082, [http://www.renesys.com/wp-content/uploads/2013/05/blackhat-09.pdf Defending against BGP man-in-the-middle attacks], [https://datatracker.ietf.org/doc/draft-ietf-sidr-bgpsec-overview/ An overview of BGPSEC]
 +
* Firewalls
 +
** [https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html another but much more comprehensive tutorial on Iptables]
 +
** [http://ipset.netfilter.org/iptables.man.html Iptables man page]
 +
** [https://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html Page with various extensions to Iptables]
 +
** [https://crypto.stanford.edu/cs155old/cs155-spring09/papers/bellovin-cheswick.pdf Network Firewalls], a paper by Bellovin and Cheswick that provides a high level description of firewalls, their functionality and the mechanisms they rely upon (Bellovin and Cheswick also have a [https://www.amazon.com/Firewalls-Internet-Security-Repelling-Hacker/dp/020163466X classic book] on the topic).
 +
|| [https://www.dropbox.com/s/nyc9y06tffwt5w3/sec.pptx?dl=0 Lecture 24]] || NO REVIEW QUESTIONS || style="background-color: SpringGreen;"| [https://www.dropbox.com/s/zq3ej7lqb1uqugf/lab6-2018.docx?dl=0 Lab 6 Due]
 
|-
 
|-
| 12/4 || Review session || || || ||
+
|style="background-color: Yellow;"| 12/4 ||style="background-color: Yellow;"|  '''Exam 2 (in class)'''||style="background-color: Yellow;"|  '''Note: there will be a review session at 5pm in Jolley 309 on 12/03''' ||style="background-color: Yellow;"| [[Media:final_review.pdf | Exam 2 review]] ||style="background-color: Yellow;"| - ||style="background-color: Yellow;"|  
 
|}
 
|}

Latest revision as of 21:58, 20 November 2019

Fall 2019 Syllabus & Schedule (subject to change as needed) - (REVISED FOR FALL 2019)

Schedule at-a-glance

Legend

Lab Quiz Exam No class




Mon Wed Mon Wed Mon Wed Mon Wed Mon Wed
August 26 28
September 2 4 9 11 16 18 23 25 30
October 2 7 9 14 16 21 23 28 30
November 4 6 11 13 18 20 25 27
December 2 4


Detailed Schedule & Syllabus

NOTE: This schedule is TENTATIVE, and may change as certain topics may end-up being harder or easier than anticipated. Changes to the schedule will be reflected as quickly as possible on this page.

The different columns in the schedule are as follows:

  • The Scope column provides a brief description of the material to be covered in each lecture.
  • As its name indicates, the Reading Assignments column identifies what you need read ahead of the corresponding lecture. It usually consists of chapters or sections in the textbook, or some external material from IETF RFCs. It also includes optional reading material (in the line starting with "FYI") that can provide additional useful insight into the topic at hand.
  • The Slides column gives a pointer to the set of slides (in PowerPoint format) that will typically be covered during the lectures. The slides also include some useful exercises to test understanding of the material they cover.
  • The Review Questions column provides pointers to review questions (in MS Word format) that need to be handed-in at the start of the corresponding class and that are based on the reading material for the class. Review Question i is due at the beginning of Lecture i.
  • Finally the Labs/Quizzes column identifies dates when either quizzes will be given at the start of class (blue-colored entries), or when labs are due (green-colored entries).

August

Date Scope Reading Assignments Slides Review Questions Labs/Quizzes
8/26 A brief overview of the Internet, its components, and performance aspects Chapter 1, RFC 1958
FYI: RFC 3439 (especially Section 5)
Lecture 1 - -
8/28 Transport layer overview and socket programming (mostly UDP, but we'll quickly cover TCP as well) Sections 2.7.1, 3.1-3.3
FYI: Java sockets tutorial, TCP/IP Socket in Java (book)
Lecture 2 Review Questions for lecture 2 (rq2.docx)

September

Date Scope Reading Assignments Slides Review Questions Labs/Quizzes
9/2 LABOR DAY NO CLASS
9/4 Network applications & the web Chapter 1, Sections 2.1, 2.2
FYI: RFC 2616, RFC 7540
Lecture 3] Review Questions for lecture 3 (rq3.docx) Lab1 Due, Notes about lab1 from 2015] , Feedback about lab1 from 2014
9/9 The Domain Name System (DNS) Section 2.4
FYI: RFC 1034, RFC 1035, A useful discussion of the need for and use of GLUE records
Lecture 4 Review Questions for lecture 4 (rq4.docx) Quiz 1
9/11 File transfer application (FTP) and email application (SMTP) Sections 2.3, RFC 959, RFC 4254
FYI: RFC 2821, A discussion of the difference between active and passive FTP
Lecture 5 Review Questions for lecture 5 (rq5.docx)
9/16 P2P applications - BitTorrent and DHTs Section 2.5
CMU Lecture on DHTs
Lecture 6 Review Questions for lecture 6 (rq6.docx)
9/18 Principles of reliable data transport Section 3.4 Lecture 7 Review Questions for lecture 7 (rq7.docx) Lab 2 Due
9/23 Principles of reliable data transport (contd.) Section 3.4 Lecture 8 NO REVIEW QUESTIONS
9/25 A closer look at TCP Sections 3.5, 2.7.2 Lecture 9 Review Questions for lecture 9 (rq9.docx)
9/30 TCP flow and congestion control Sections 3.6, 3.7
FYI: RFC 5681, RFC 6582
Lecture 10 Review Questions for lecture 10 (rq10.docx) Quiz 2

October

Date Scope Reading Assignments Slides Review Questions Labs/Quizzes
10/2 TCP flow and congestion control (contd.) Sections 3.6, 3.7
FYI: RFC 5681, RFC 6582
Lecture 11
Lecture 11 - Alternate slide-deck
Review Questions for lecture 11 (rq11.docx)
10/7 Other useful Internet protocols & mechanisms: ICMP, DHCP, NATs Sections 5.6, 4.3.4, pp. 342-345
FYI: RFC 792, RFC 2131, RFC 2131, RFC 2663
Lecture 12 Review Questions for lecture 12 (rq12.docx)
10/9 IPv4 protocol and Internet routers (IP addresses & subnets, router architecture) Sections 4.1-4.3 (up to p. 341)
FYI: RFC 1812
Lecture 13 Review Questions for lecture 13 (rq13.docx) Lab 3 Due
10/14 FALL BREAK NO CLASS
10/16 Review session Exam 1 review - - -
10/21 Exam 1 (in class)
10/23 Routing (shortest path) algorithms Section 5.2 Lecture 14 Review Questions for lecture 14 (rq14.docx)
10/28 Intra-domain rouging protocols, i.e., OSPF, IS-IS, EIGRP
(MAY SKIP THIS LECTURE IF WE HAVE FALLEN BEHIND. IT'S MOSTLY DETAILS ABOUT OSPF AND IS-IS)
Section 5.3, EIGRP paper
FYI: RFC 2328, RFC 1195
Lecture 15 Review Questions for lecture 15 (rq15.docx) Lab 4 Due
10/30 Inter-domain routing (BGP) Section 5.4
FYI: RFC 4271, Avi Freedman BGP tutorials (BGP1 and BGP2)
Lecture 16 Review Questions for lecture 16 (rq16.docx)

November

Date Scope Reading Assignments Slides Review Questions Labs/Quizzes
11/4 Multicast routing RFC 5110, Cisco Multicast Technology Overview
FYI: RFC 2236 (Sections 1-3), RFC 3376 (Sections 1-6), RFC 4541 (Section 2), RFC 4601 (Sections 1-3), RFC 4607 (Sections 1-6)
Lecture 17 Review Questions for lecture 17 (rq17.docx) Quiz 3
11/6 Link layer & Ethernet Section 6.1-6.6, Spanning Tree Protocol
FYI: RFC 826
Lecture 18 Review Questions for lecture 18 (rq18.docx)
11/11 Link layer & Ethernet (contd.) A basic VLAN tutorial, NANOG 49 MPLS presentation
FYI: Another slightly more detailed VLAN tutorial, Cisco's MPLS Introduction
Lecture 19 NO REVIEW QUESTIONS
11/13 Wireless & WiFi Sections 7.1-7.3 Lecture 20 Review Questions for lecture 20 (rq20.docx)
11/18 Cellular networks & mobility Sections 7.4-7.8
FYI: RFC 3344, RFC 5944
Lecture 21 Review Questions for lecture 21 (rq21.docx) Lab 5 Due
11/20 IPv6 (will skip and cover if time permits after security) Section 4.3.5
FYI: RFC 2460
Lecture 22 ] Review Questions for lecture 22 CANCELLED
11/25 Security protocols
Attacks and defense systems

FYI

Lecture 23 Review Questions for lecture 23 (rq23.docx) Quiz 4
11/27 THANKSGIVING BREAK NO CLASS

December

Date Scope Reading Assignments Slides Review Questions Labs/Quizzes
12/2 Security protocols
Attacks and defense systems (contd.)

FYI

Lecture 24] NO REVIEW QUESTIONS Lab 6 Due
12/4 Exam 2 (in class) Note: there will be a review session at 5pm in Jolley 309 on 12/03 Exam 2 review -