CMU CS 15441 - lecture (49 pages)

Previewing pages 1, 2, 3, 23, 24, 25, 26, 47, 48, 49 of 49 page document View the full content.
View Full Document

lecture



Previewing pages 1, 2, 3, 23, 24, 25, 26, 47, 48, 49 of actual document.

View the full content.
View Full Document
View Full Document

lecture

136 views


Pages:
49
School:
Carnegie Mellon University
Course:
Cs 15441 - Computer Networks
Computer Networks Documents
Unformatted text preview:

Lecture 3 Design Philosophy Applications David Andersen School of Computer Science Carnegie Mellon University 15 441 Computer Networks 1 Lecture 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 Sharing 2 Internet Architecture Background The Design Philosophy of the DARPA Internet Protocols David Clark 1988 Fundamental goal Effective network interconnection Goals in order of priority 1 2 3 Continue despite loss of networks or gateways Support multiple types of communication service Accommodate a variety of networks Permit distributed management of Internet resources Cost effective Host attachment should be easy Resource accountability 3 Priorities 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 detail 4 Survivability 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 Host Failure handing Replication Fate sharing Net Engineering Tough Simple Switches Maintain state Stateless Host trust Less More 5 Fate Sharing Connection State No State State 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 mechanisms 6 Types 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 7 Varieties 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 once 8 The 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 9 Accountability 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 1 FTP The File Transfer Protocol FTP user interface user at host FTP client local file system file transfer FTP server remote file system 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 21 1 Ftp Separate Control Data Connections Ftp client contacts ftp server at port 21 specifying TCP as transport protocol Two parallel TCP connections opened TCP control connection port 21 Control exchange commands responses between client server out of band control Data file data to from server FTP client TCP data connection port 20 FTP server Ftp server maintains state current directory earlier authentication 1 Ftp Commands Responses Sample Return Codes Sample 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 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 file STOR filename stores puts file onto remote host 1 HTTP 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 requests 1 How 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 this 1 HTTP Request 1 HTTP 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 version 1 HTTP Request Request headers Authorization authentication info Acceptable document types encodings From user email If Modified Since Referrer what caused this page to be requested User Agent client software Blank line Body 1 HTTP Request Example GET HTTP 1 1 Accept Accept Language en us Accept Encoding gzip deflate User Agent Mozilla 4 0 compatible MSIE 5 5 Windows NT 5 0 Host www intel iris net Connection Keep Alive 1 HTTP Response Status line HTTP version 3 digit response code 1XX informational 2XX success 200 OK 3XX redirection 301 Moved Permanently 303 Moved Temporarily 304 Not Modified 4XX client error 404 Not Found 5XX server error 505 HTTP Version Not Supported Reason phrase 2 HTTP Response Headers Location for redirection Server server software WWW Authenticate request for authentication Allow list of methods supported get head etc Content Encoding E g x gzip Content Length Content Type Expires Last


View Full Document

Access the best Study Guides, Lecture Notes and Practice Exams

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