COMP 431 Internet Services & Protocols Please sit in the front - - PDF document

comp 431 internet services protocols
SMART_READER_LITE
LIVE PREVIEW

COMP 431 Internet Services & Protocols Please sit in the front - - PDF document

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


slide-1
SLIDE 1

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

jasleen@cs.unc.edu January 9, 2020

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

slide-2
SLIDE 2

3

◆ Arguably one of the most important developments of the last 3

decades

» 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?

4

COMP 431: Overview

Internet http://www.cnn.com request data response data

Example: Web Browsing

slide-3
SLIDE 3

5

COMP 431: Overview

Internet Services & Protocols

Example 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 UNC campus network every hour, share the capacity of the network?

Internet 6

COMP 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 and

algorithms

◆ Physical-layer transmission technologies

» Ethernet, Wireless LANs, modems

slide-4
SLIDE 4

7

COMP 431: Overview

COMP 431 Administrivia

Prerequisites

◆ 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 tutorial
  • 2. Complete HW 1

8

COMP 431: Overview

COMP 431 Administrivia

Textbook & 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

slide-5
SLIDE 5

9

COMP 431: Overview

COMP 431 Administrivia

Other 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!

10

COMP 431: Overview

COMP 431 Administrivia

Online 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)!

slide-6
SLIDE 6

11

COMP 431: Overview

COMP 431 Administrivia

Other online resources

◆ Sakai – all grades will be posted here ◆ Gradescope – written homeworks will need to be submitted here

12

COMP 431: Overview

COMP 431 Administrivia

Grading (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

slide-7
SLIDE 7

13

COMP 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)!

14

COMP 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 if NO late days used !

slide-8
SLIDE 8

15

COMP 431: Overview

COMP 431 Administrivia

Missing 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

17

COMP 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

slide-9
SLIDE 9

18

COMP 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!

19

COMP 431: Overview

COMP 431 Administrivia

Where 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

slide-10
SLIDE 10

20

COMP 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

21

COMP 431: Overview

COMP 431 Administrivia

How 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

slide-11
SLIDE 11

22

COMP 431: Overview

COMP 431 Administrivia

Frequently 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 ?

23

COMP 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 have the time?

Yes! It’s 2:00

TCP connection request

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 connection reply