Difference between revisions of "Syllabus"
Jump to navigation
Jump to search
(490 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=== | ===Schedule at-a-glance=== | ||
Line 6: | Line 6: | ||
{| class="wikitable" style="text-align: center; color: black; border-style: solid; border-width: 2px" | {| class="wikitable" style="text-align: center; color: black; border-style: solid; border-width: 2px" | ||
! Lab | ! Lab | ||
− | ! | + | ! Quiz |
! Exam | ! Exam | ||
! No class | ! No class | ||
Line 18: | Line 18: | ||
{| class="wikitable" style="text-align: center; color: black; border-style: solid; border-width: 2px" | {| 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 | ! style="text-align:left;"| August | ||
− | | 26 || 28 | + | | 26 || 28 |
|- | |- | ||
! style="text-align:left;"| September | ! style="text-align:left;"| September | ||
− | | style="background-color: | + | | 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="background-color: | ||
|- | |- | ||
! style="text-align:left;"| October | ! 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="text-align:left;"| November | ||
− | | 4 || 6 || 11|| 13 || 18 || 20 || 25 || 27 | + | | 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;"| | + | ! style="text-align:left;"| December |
− | | 2 || 4 | + | |style="background-color: SpringGreen;"| 2 ||style="background-color: Yellow;"| 4 || || || || |
|} | |} | ||
− | ===Detailed Schedule=== | + | <!-- <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" | {|class="wikitable" | ||
! style="text-align:left;"| Date | ! style="text-align:left;"| Date | ||
! Scope | ! Scope | ||
! 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<br/> FYI: RFC 3439 (especially Section 5)||[ | + | | 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 || | + | | 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 | ||
|- | |- | ||
− | |style="background-color: | + | |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/4 || | + | |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] |
|- | |- | ||
− | |style="background-color: | + | |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/11 || | + | |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/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/18 || Principles of reliable data transport || Section 3.4 || || || | + | |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/23 || | + | |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/25 || TCP flow and congestion control || Sections 3.6, 3.7<br/> FYI: RFC 5681, RFC 6582 || || || | + | | 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]) || |
+ | |- | ||
+ | |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 | ||
|- | |- | ||
− | | | + | | 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/ | + | | 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/ | + | |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/ | + | |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/ | + | | 10/16 || Review session || [[Media:Midterm_2015_review.pdf | Exam 1 review]] <!-- and [[Media:Midterm_2015_review_solution.pdf | solution]] --> || - || - || - |
|- | |- | ||
− | | 10/ | + | |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/ | + | | 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/ | + | |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/ | + | | 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 | ||
|- | |- | ||
− | | | + | |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/ | + | | 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/ | + | |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/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/ | + | |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/ | + | | 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/ | + | | style="background-color: SkyBlue;"| 11/25 || Security protocols <br/> Attacks and defense systems || |
− | * | + | * 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: [ | + | '''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] |
− | |||
− | |||
* 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/ | + | |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 | ||
|- | |- | ||
− | |style="background-color: | + | |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/> | |
− | + | '''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 || | + | |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
Contents
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, (MAY SKIP THIS LECTURE IF WE HAVE FALLEN BEHIND. IT'S MOSTLY DETAILS ABOUT OSPF AND IS-IS) |
Section 5.3, 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 | - |