comp 431 internet services & protocolsjasleen/courses/comp431/slides/0-overview.pdf · »...

11
1 COMP 431: Overview COMP 431 Internet Services & Protocols Please sit in the front of the classroom (first couple of rows) There are 3 “handouts” for today: » Course outline/syllabus » Lecture 0 slides » HW 1 description Please download a copy (now!) of each from the course web page at: http://www.cs.unc.edu/~jasleen/Courses/COMP431/ 2 COMP 431: Overview COMP 431 Internet Services & Protocols Internet Services & Protocols Jasleen Kaur [email protected] January 9, 2020 http://www.cs.unc.edu/~jasleen/Courses/COMP431

Upload: others

Post on 14-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

1COMP 431: Overview

COMP 431Internet Services & Protocols◆ Please sit in the front of the classroom (first couple of

rows)

◆ There are 3 “handouts” for today:» Course outline/syllabus» Lecture 0 slides» HW 1 description

◆ Please download a copy (now!) of each from the course web page at:

http://www.cs.unc.edu/~jasleen/Courses/COMP431/

2COMP 431: Overview

COMP 431Internet Services & Protocols

Internet Services & Protocols

Jasleen [email protected]

January 9, 2020

http://www.cs.unc.edu/~jasleen/Courses/COMP431

Page 2: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

3

◆ Arguably one of the most important developments of the last 3decades» Information Sharing» Means of Communication» Transactions» Services» Entertainment» Creation

COMP 431: Overview

Why Study The Internet? It is a HUGE deal!

Empty and Meaningless Facebook Timeline Photo

This course – how do (the foundations of) the

Internet work?

4COMP 431: Overview

Internet

http://www.cnn.comrequest data

response data

Example: Web Browsing

Page 3: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

5COMP 431: Overview

Internet Services & ProtocolsExample Issues

◆ How does the web work?» How does a client find a random web server?

❖ Is www.google.com really a “server”?

» How does a request make its way from a web browser to a web server and how does the reply make it back?

» How is it that all data transmitted arrives intact and in order? » How insecure is the connection and how secure is a secure connection?

◆ Why do we get the level of performance that we do?» Can one control (or even improve) the performance of their network

connections?

» How do the millions of web requests and responses that transit the UNCcampus network every hour, share the capacity of the network?

Internet

6COMP 431: Overview

So, what is this course about?The Internet food chain of technology

◆ Application-level protocols» HTTP, FTP, SMTP (e-mail), DASH (streaming media), and the

Domain Name System (DNS)» Socket programming and client/server computing

◆ Transport protocols» TCP and UDP» Congestion control principles and algorithms

◆ The Internet Protocol IP and Internet routing architecture andalgorithms

◆ Physical-layer transmission technologies» Ethernet, Wireless LANs, modems

Page 4: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

7COMP 431: Overview

COMP 431 AdministriviaPrerequisites◆ I assume that you have had:

» COMP 411 — Computer Organization» COMP 410 — Data Structures

◆ I assume you’re comfortable programming in a language » We will be using Python in this course for socket programming (and I’m

assuming you have enough programming experience to pick it up yourself)» This course (or the TAs) will not teach you Python

◆ Program operation will be described using Linux terminology» You should be comfortable with the Linux file system, file I/O, I/O

redirection, basic Linux program development» Linux mini-tutorial is available on course web page (change machine names)

1. Try out all examples in tutorial2. Complete HW 1

8COMP 431: Overview

COMP 431 AdministriviaTextbook & Handy References◆ Computer Networking: A Top-Down

Approach Featuring the Internet, 7th Edition (2016)» By James F. Kurose and Keith W. Ross

◆ Learning Python, 5th edition» By Mark Lutz, O’Reilly Media, 2013

Page 5: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

9COMP 431: Overview

COMP 431 AdministriviaOther resources◆ Course web page

http://www.cs.unc.edu/~jasleen/Courses/COMP431» Your source for copies of handouts, assignments, slides, online lectures, …» If you miss class (bad idea!) you can see if anything new was posted by

checking the web site

◆ Lecture notes MUST be taken!

Fill this space!

Fill this space!

10COMP 431: Overview

COMP 431 AdministriviaOnline Forum◆ Piazza.com – class discussion forum

» Post your questions here (rather than email TAs or instructor)❖ Use the appropriate “folder”: lecture, hw1, logistics, exam, …

» Discuss possible “approaches” to homework problems or programming tasks❖ But not full details (honor code violation)

» Post answers to questions posted by others❖ Folks who post answers will get credit for class participation

◆ Even if answers are incorrect◆ As long as answer is not miniscule and is reasonably substantial

» Anonymous posting allowed (I can see though)

◆ Piazza also used for class announcements (instead of email)=> check it regularly !! (can be set up to send emails once/day)

◆ I expect you to use piazza heavily as a resource!» Add it NOW (linked from the course web page)!

Page 6: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

11COMP 431: Overview

COMP 431 AdministriviaOther online resources◆ Sakai – all grades will be posted here

◆ Gradescope – written homeworks will need to be submitted here

12COMP 431: Overview

COMP 431 AdministriviaGrading (all percentages approximate within 10%)◆ Programming and written assignments (~50%)

» Different assignments will have different weightage

◆ Midterm examination – tentatively, March 5 (~20%)

◆ Final examination (~30%)» Monday, April 27 at 12:00 PM

◆ Class participation used to raise grades by 0.3 grade points (e.g. add + to a letter grade; B+ ---> A-)» Both in-class and piazza participation (answering questions) counts» Piazza might count more in a large class

◆ Sorry, but auditing of this course is not allowed

◆ All grades will be posted on sakai.unc.edu

Page 7: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

13COMP 431: Overview

COMP 431 Administrivia Programming and written assignments

◆ 4-6 programming/lab assignments

◆ 4-6 written homeworks

◆ Written homeworks will be collected on gradescope and are due by 10:50 am on the specified due date» Anything submitted after 10:49:59.99 EDT/EST is considered late

◆ Programming assignments are due by 10:50 am on the specified due date » Programs time-stamped after 10:49:59.99 EDT/EST on the due date are

late (see HW 1 handout)!

14COMP 431: Overview

COMP 431 Administrivia Late homework policy

◆ Late submissions of written homeworks will NOT be accepted.» A grade of “0” if not submitted on time.

◆ Late submission of programming homework is “OK” but...» Only if it’s not too late» You have 4 “late days” that may be distributed as you please among all of

the programming assignments❖ Once the 4th late day is used up there will be no extensions!

◆ Warning: The 3rd assignment builds on the 1st one!» If you’re late on the 1st assignment you’ll have to work faster on the 3rd one

» If you don’t get a perfect score on the 1st you’ll have to fix the problems before starting the 3rd assignment

10% bonus grade ifNO late days used !

Page 8: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

15COMP 431: Overview

COMP 431 AdministriviaMissing class policy

◆ No make-up will be given for missing homeworks, exams, lectures» Make sure you attend all classes!

◆ Unless you have an “excused” absence, which includes:» Medical emergency, or a family loss/emergency (with documentation)

◆ For “excused” absences,» Written homeworks will be pro-rated» Programming assignments will need to be completed (and may include some

pro-rated grade)» Mid-term may be pro-rated (from final),

❖ Or you may be given a “make-up” exam

17COMP 431: Overview

COMP 431 Administrivia Honor Code: Policy on collaboration◆ Working in groups on assignments is OK but…

» You can only collaborate with other students in this course» You can only collaborate on understanding the assignment and possible

“approaches”❖ Every student must craft their own final solution❖ Every student must fully write up their own solution

» All collaborators must be acknowledged in writing

◆ Programming assignments must be completed by each student individually» Code may never be shared» Collaboration on the mechanics of Linux/Python programming is OK

❖ Debugging or designing each other’s programs is not OK

Page 9: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

18COMP 431: Overview

For Details on Course Policies

◆ Read the Handouts shared today» Course Syllabus» Slides» Homework 1

READ THESE HANDOUTS CAREFULLY.

YOU ARE RESPONSIBLE FOR KNOWING THE GROUND-RULES FOR THIS COURSE!

19COMP 431: Overview

COMP 431 AdministriviaWhere to go for help?

◆ Ask questions in class!

◆ Post questions on piazza:» Do not send clarification questions by email – post them on piazza.» Do expect that other students will be answering these (and instructor and TAs

will “endorse” good answers).» Don’t depend on an immediate answer

◆ Attend office hours» TAs and my office hours have been posted on the course web page

❖ At least two hours of TA office hour each working week day

Page 10: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

20COMP 431: Overview

COMP 431 Administrivia How to get an “A” in COMP 431◆ Attend class regularly

» Ask questions!» Exercise your understanding of course material on a daily basis

◆ Read the book (and read the discussions on piazza)

◆ Take (and study your) notes!» Beware the “But I understand this” syndrome

◆ Study the homework and in-class “thought” problems» Don’t just “do” the homework

◆ Try out end-of-chapter problems in textbook

21COMP 431: Overview

COMP 431 AdministriviaHow to get (no higher than) a “D” in COMP 431

◆ Assume getting copies of handouts is sufficient» You still have to read the book!

◆ Don’t take notes in class» Handouts are purposefully incomplete!

◆ Miss class» What is said in class is important!

◆ Don’t take lectures posted online seriously

◆ Procrastinate and start assignments 2-3 days before deadline» Assignments are designed to require an average of at least10 hours of

work outside of class each week

Page 11: COMP 431 Internet Services & Protocolsjasleen/Courses/COMP431/slides/0-Overview.pdf · » Course Syllabus » Slides » Homework 1 READ THESE HANDOUTS CAREFULLY. YOU ARE RESPONSIBLE

22COMP 431: Overview

COMP 431 AdministriviaFrequently asked questions

◆ I’ve never programmed in Python before, will I die in this course?

◆ I’ve never used Linux before, will I die in this course?

◆ Will this course help me become Cisco Certified?

Other Questions ?

23COMP 431: Overview

COMP 431 Programming:First, An Introduction to Network Protocols

◆ A protocol is a specification for a set of message exchanges

Hi

Hi

Do you havethe time?

Yes!It’s 2:00

TCP connectionrequest

Get http://www.cs.unc.edu/Admin/Schedules

<web page>Time

◆ Human protocols» Get the time from a

stranger.

◆ Computer protocols» Get the CS class times from the

web server

TCP connectionreply