cos 461: computer networks · • four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50%...

34
COS 461: Computer Networks Spring 2011 Lectures: MW 10‐10:50am in Bowen 222 Prof. Mike Freedman Precepts: F 10‐10:50am, 11‐11:50am Preceptors: Matvey Arye, Jacopo Cesareo, Prem Gopalan hNp://www.cs.princeton.edu/courses/archive/spr11/cos461/

Upload: others

Post on 12-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

COS461:ComputerNetworksSpring2011

Lectures:MW10‐10:50aminBowen222

Prof.MikeFreedman

Precepts:F10‐10:50am,11‐11:50am

Preceptors:MatveyArye,JacopoCesareo,PremGopalan

hNp://www.cs.princeton.edu/courses/archive/spr11/cos461/

Page 2: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

WhatYouLearninThisCourse•  Knowledge:howtheInternetworks

–  IPprotocolsuite–  Internetarchitecture–  ApplicaTons(Web,DNS,P2P,…)

•  Insight:keyconceptsinnetworking–  Protocols,layering,resourceallocaTon,naming

•  Skill:networkprogramming– Manynodesaregeneral‐purposecomputers

•  Andincreasingly,evenspecial‐purposeswitchesareprogrammable!

–  Youcanprogramthenodes–  Veryeasytoinnovateanddevelopnewusesofnetwork–  Contrast:MaBellownedthetelecomnetwork,noinnovaTon

2

Page 3: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

LearningtheMaterial:People•  Lecture(Prof.MikeFreedman)

–  SlidesavailableonlineatcourseWebsite

–  Officehours:Immediatelyfollowinglectures

•  TeachingAssistantsofficehoursTBD

•  Mainemail:cos461‐staffatlists.cs.princeton.edu–  EmailtoindividualTAswillnotbeanswered

•  MainQ&Aform:www.piazzza.com– Wewilladdallyouremailaddressestothecourse

–  GradedonclassparTcipaTon:soask*and*answer!3

Page 4: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

LearningtheMaterial:Books•  Requiredtextbook

–  ComputerNetworks:ASystemsApproach(4thedi9on),byPetersonandDavie[Okaytousethe3rdediTon]

•  Booksonreserve– Networkingtextbooks

•  ComputerNetworking:ATop‐DownApproachFeaturingtheInternet(3rdedi9on),byKuroseandRoss

•  ComputerNetworks(4thedi9on),byTanenbaum

– Networkprogrammingreferences•  TCP/IPIllustrated,Volume1:TheProtocols,byStevens

•  UnixNetworkProgramming,Volume1:TheSocketsNetworkingAPI(3rdEdi9on),byStevens,Fenner,&Rudolf

4

Page 5: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

GradingandSchedule•  Fourassignments(10%each)

–  95%3hours,70%2dayslate,50%>3dayslate– Onefreelatedayduringsemester– Mustcompleteallassignmentstopass

•  Twoexams(50%total)– Midtermexambeforespringbreak(25%)–  Finalexamduringexamperiod(25%)

•  ClassparTcipaTon(10%)–  Inlectureandprecept–  Intheforums

5

Page 6: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

GraduateStudents:TwoChoices•  PickoneoftwoopTons

– Dothefourprogrammingassignments

– Or,firsttwoassignments,plusresearchproject

•  Researchprojects– Networking‐relatedresearchproblem

– Musthaveasystemsprogrammingcomponent– Talktome

6

Page 7: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Policies:WriteYourOwnCodeProgramminginanindividualcreaTveprocess.Whilethinkingaboutaproblem,discussionswithfriendsareencouraged.However,whentheTmecomestowritecodethatsolvestheproblem,theprogrammustbeyourownwork.

IfyouhaveaquesTonabouthowtousesomefeatureofC,UNIX,etc.,youcancertainlyaskyourfriendsortheTA,butdonot,underanycircumstances,copyanotherperson'sprogram.

Lerngsomeonecopyyourprogramorusingsomeoneelse'scodeinanyformisaviola7onofacademicregula7ons.

7

Page 8: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

NetworkingisRelevant

8

Page 9: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

9

Informa7onwants to be free because it has becomesocheaptodistribute,copy,andrecombine...Itwantsto be expensive because it can be immeasurablyvaluabletotherecipient. (1985)

Page 10: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments
Page 11: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments
Page 12: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

http://www.google.com/transparencyreport/traffic/

Page 13: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments
Page 14: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Themonolithicview

14

1

2

3 4

5

6 7

Client Browser

Web server

THEINTERNET

!!!!

Page 15: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Why“Internet”•  Networkofnetworks•  StandardizedformatandprotocolsforspeakingbetweenHETEROGENOUSnetworks

15

Page 16: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Why“Internet”•  Networkofnetworks•  StandardizedformatandprotocolsforspeakingbetweenHETEROGENOUSnetworks

16

Page 17: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Themonolithicview

17

1

2

3 4

5

6 7

Client Browser

Web server

THEINTERNET

!!!!

Page 18: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Anetworkof“AutonomousSystems”

18

3 4

5

7

Client Browser

Web server

6

1

2

• Howdoyouname?• Howdoyoufindaname?

Page 19: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Announcingatrafficroute

19

3 4

5

7

Client Browser

Web server

6

1

2

“EgyptisinthisdirecTon”

Page 20: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

“RouTng”traffictoadesTnaTon

20

3 4

5

7

Client Browser

Web server

6

1

2

Page 21: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Withdrawingatrafficroute

21

3 4

5

7

Client Browser

Web server

6

1

2

“EgyptisnotinthisdirecTon”

???

Page 22: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments
Page 23: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments
Page 24: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

KeyConceptsinNetworking•  Protocols

– Speakingthesamelanguage– SyntaxandsemanTcs

•  Layering– Standingontheshouldersofgiants– Akeytomanagingcomplexity

•  ResourceallocaTon– DividingscareresourcesamongcompeTngparTes– Memory,linkbandwidth,wirelessspectrum,paths,

•  Naming– Whattocallcomputers,services,protocols,…

24

Page 25: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

KeyConceptsinNetworking•  Protocols

– Speakingthesamelanguage– SyntaxandsemanTcs

25

1977 1998 1969

AllspeakIPv4“InternetProtocolversion4”

Page 26: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Protocoldesignisabouttradeoffs•  Howshouldhostsandrouterscommunicate?

– Standardprotocol– Fast:Machinereadableinhardwareatlinerates

•  Browsers,webservers,andproxies?– Canbeslower:sowwarereadable– Humanreadable– Extensibleandforward‐compaTble– Noteverybodymightbefamiliarwithextensions

26

Page 27: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

IPv4Packet

27

4-bit Version

4-bit Header Length

8-bit Type of Service (TOS) 16-bit Total Length (Bytes)

16-bit Identification 3-bit Flags 13-bit Fragment Offset

8-bit Time to Live (TTL)

8-bit Protocol 16-bit Header Checksum

32-bit Source IP Address

32-bit Destination IP Address

Options (if any)

Payload

Page 28: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Example:HyperTextTransferProtocol

28

GET /courses/archive/spr09/cos461/ HTTP/1.1 Host: www.cs.princeton.edu User-Agent: Mozilla/4.03 CRLF

HTTP/1.1 200 OK Date: Mon, 2 Feb 2009 13:09:03 GMT Server: Netscape-Enterprise/3.5.1 Last-Modified: Mon, 42 Feb 2009 11:12:23 GMT Content-Length: 21 CRLF Site under construction

Request

Response

Page 29: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

KeyConceptsinNetworking•  Protocols

– Speakingthesamelanguage– SyntaxandsemanTcs

•  Layering– Standingontheshouldersofgiants– Akeytomanagingcomplexity

29

Page 30: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Layering=FuncTonalAbstracTon•  Sub‐dividetheproblem

– Eachlayerreliesonservicesfromlayerbelow– Eachlayerexportsservicestolayerabove

•  InterfacebetweenlayersdefinesinteracTon– HidesimplementaTondetails– Layerscanchangewithoutdisturbingotherlayers

30 Link hardware

Host-to-host connectivity

Application-to-application channels

Application

Page 31: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

TheInternetProtocolSuite

31

UDP TCP

Data Link

Physical

Applications

The Hourglass Model

Waist

The waist facilitates interoperability

FTP HTTP TFTP NV

TCP UDP

IP

NET1 NET2 NETn …

Page 32: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

LayerEncapsulaToninHTTP

32

Get index.html

Connection ID

Source/Destination

Link Address

User A User B

Link hardware

Host-to-host connectivity

App-to-app channels

Application

Page 33: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

IPSuite:EndHostsvs.Routers

33

HTTP

TCP

IP

Ethernet interface

HTTP

TCP

IP

Ethernet interface

IP IP

Ethernet interface

Ethernet interface

SONET interface

SONET interface

host host

router router

HTTP message

TCP segment

IP packet IP packet IP packet

Page 34: COS 461: Computer Networks · • Four assignments (10% each) – 95% 3 hours, 70% 2 days late, 50% > 3 days late – One free late day during semester – Must complete all assignments

Conclusions•  Internetisanetworkofnetworks

– Howhostsandnetworksnameoneanother,findoneanother,andtalkwithoneanother

•  Keyconceptsinnetworking– Protocols,layers,resourceallocaTon,andnaming

•  Nextlecture:– HowdoesYouTubeandNeylixserveyouvideos?– E.g.,HTTP,DNS,andcontentdistribuTonnetworks

•  Nextweek:– Backtothe1960s

34