DOC PREVIEW
CMU CS 15441 - lecture

This preview shows page 1-2-3-23-24-25-26-47-48-49 out of 49 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 491Lecture 3Design Philosophy &ApplicationsDavid AndersenSchool of Computer ScienceCarnegie Mellon University15-441 Computer Networks2Lecture OverviewLast time:»Protocol stacks and layering»OSI and TCP/IP models»Application requirements from transport protocolsInternet ArchitectureApplication examples.»ftp»httpApplication requirements.»“ilities”»Sharing3Internet ArchitectureBackground»“The Design Philosophy of the DARPA Internet Protocols” (David Clark, 1988).Fundamental goal: Effective network interconnectionGoals, in order of priority:1. Continue despite loss of networks or gateways2. Support multiple types of communication service3. Accommodate a variety of networks»Permit distributed management of Internet resources»Cost effective»Host attachment should be easy»Resource accountability4PrioritiesThe effects of the order of items in that list are still felt today»E.g., resource accounting is a hard, current research topicLet’s look at them in detail5SurvivabilityIf network disrupted and reconfigured»Communicating entities should not care!»No higher-level state reconfiguration»Ergo, transport interface only knows “working” and “not working.” Not working == complete partition.How to achieve such reliability?»Where can communication state be stored?Network HostFailure handing Replication “Fate sharing”Net Engineering Tough SimpleSwitches Maintain state StatelessHost trust Less More6Fate SharingLose state information for an entity if (and only if?) the entity itself is lost.Examples:»OK to lose TCP state if one endpoint crashes–NOT okay to lose if an intermediate router reboots»Is this still true in today’s network?–NATs and firewallsSurvivability compromise: Heterogenous network -> less information available to end hosts and Internet level recovery mechanismsConnection State StateNo State7Types of ServiceRecall from last time TCP vs. UDP»Elastic apps that need reliability: remote login or email»Inelastic, loss-tolerant apps: real-time voice or video»Others in between, or with stronger requirements»Biggest cause of delay variation: reliable delivery–Today’s net: ~100ms RTT–Reliable delivery can add seconds.Original Internet model: “TCP/IP” one layer»First app was remote login…»But then came debugging, voice, etc.»These differences caused the layer split, added UDPNo QoS support assumed from below»In fact, some underlying nets only supported reliable delivery–Made Internet datagram service less useful!»Hard to implement without network support»QoS is an ongoing debate…8Varieties of NetworksDiscussed a lot of this last time - »Interconnect the ARPANET, X.25 networks, LANs, satellite networks, packet networks, serial links…Mininum set of assumptions for underlying net»Minimum packet size»Reasonable delivery odds, but not 100%»Some form of addressing unless point to pointImportant non-assumptions:»Perfect reliability»Broadcast, multicast»Priority handling of traffic»Internal knowledge of delays, speeds, failures, etc.Much engineering then only has to be done once9The “Other” goalsManagement»Today’s Internet is decentralized - BGP»Very coarse tools. Still in the “assembly language” stageCost effectiveness»Economies of scale won out»Internet cheaper than most dedicated networks»Packet overhead less important by the yearAttaching a host»Not awful; DHCP and related autoconfiguration technologies helping. A ways to go, but the path is thereBut…10AccountabilityHuge problem.Accounting»Billing? (mostly flat-rate. But phones are moving that way too - people like it!)»Inter-provider payments–Hornet’s nest. Complicated. Political. Hard.Accountability and security»Huge problem.»Worms, viruses, etc.–Partly a host problem. But hosts very trusted.»Authentication–Purely optional. Many philosophical issues of privacy vs. security.11FTP: The File Transfer ProtocolTransfer file to/from remote hostClient/server model»Client: side that initiates transfer (either to/from remote)»Server: remote hostftp: RFC 959ftp server: port 21file transferFTPserverFTPuserinterfaceFTPclientlocal filesystemremote filesystemuser at host12Ftp: Separate Control, Data ConnectionsFtp client contacts ftp server at port 21, specifying TCP as transport protocolTwo parallel TCP connections opened:»Control: exchange commands, responses between client, server.“out of band control”»Data: file data to/from serverFtp server maintains “state”: current directory, earlier authenticationFTPclientFTPserverTCP control connectionport 21TCP data connectionport 2013Ftp Commands, ResponsesSample Commands:sent as ASCII text over control channelUSER usernamePASS passwordLIST return list of files in current directoryRETR filename retrieves (gets) fileSTOR filename stores (puts) file onto remote hostSample Return Codesstatus code and phrase331 Username OK, password required125 data connection already open; transfer starting425 Can’t open data connection452 Error writing file14HTTP BasicsHTTP layered over bidirectional byte stream»Almost always TCPInteraction»Client sends request to server, followed by response from server to client»Requests/responses are encoded in textStateless»Server maintains no information about past client requests15How to Mark End of Message?Size of message  Content-Length»Must know size of transfer in advanceDelimiter  MIME style Content-Type»Server must “escape” delimiter in contentClose connection»Only server can do this16HTTP Request17HTTP RequestRequest line»Method–GET – return URI–HEAD – return headers only of GET response–POST – send data to the server (forms, etc.)»URI–E.g. http://www.intel-iris.net/index.html with a proxy–E.g. /index.html if no proxy»HTTP version18HTTP RequestRequest headers»Authorization – authentication info»Acceptable document types/encodings»From – user


View Full Document

CMU CS 15441 - lecture

Documents in this Course
lecture

lecture

34 pages

lecture

lecture

38 pages

lecture

lecture

18 pages

lecture

lecture

28 pages

lecture

lecture

11 pages

Lecture

Lecture

64 pages

lecture

lecture

10 pages

lecture

lecture

19 pages

Lecture 6

Lecture 6

43 pages

Exam

Exam

14 pages

lecture

lecture

38 pages

Debugging

Debugging

23 pages

lecture

lecture

60 pages

review

review

27 pages

lecture

lecture

12 pages

The Web

The Web

28 pages

Lecture

Lecture

40 pages

lecture

lecture

42 pages

lecture

lecture

9 pages

lecture

lecture

10 pages

lecture

lecture

26 pages

Project

Project

5 pages

lecture

lecture

40 pages

lecture

lecture

9 pages

lecture

lecture

41 pages

lecture

lecture

32 pages

lecture

lecture

36 pages

lecture

lecture

34 pages

lecture

lecture

45 pages

lecture

lecture

26 pages

lecture

lecture

6 pages

lecture

lecture

51 pages

Project

Project

16 pages

lecture

lecture

44 pages

lecture

lecture

13 pages

lecture

lecture

42 pages

lecture

lecture

36 pages

Project

Project

13 pages

Project

Project

33 pages

lecture

lecture

43 pages

lecture

lecture

49 pages

Load more
Download lecture
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view lecture and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view lecture 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?