Lecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities

Size: px
Start display at page:

Download "Lecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities"

Transcription

1 Lecture Overview Lecture 3 Design Philosophy & Applications David Andersen School of Computer Science Carnegie Mellon University Networking, Spring ! 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 Priorities! 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 gateways 2. Support multiple types of communication service 3. Accommodate a variety of networks 4. Permit distributed management of Internet resources 5. Cost effective 6. Host attachment should be easy 7. Resource accountability! 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 3 4

2 Survivability Fate Sharing! 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? Failure handing Net Engineering Switches Network Replication Tough Maintain state Host Fate sharing Simple Stateless 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 Host trust Less More 5 6 Types of Service Varieties of Networks! Recall from last time TCP vs. UDP» Elastic apps that need reliability: remote login or » 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! 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

3 The Other goals Accountability! 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! 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.! Questions before we move on to the project? 9 10 FTP: The File Transfer Protocol Ftp: Separate Control, Data Connections user at host FTP user interface FTP client local file system file transfer FTP server! Transfer file to/from remote host! Client/server model» Client: side that initiates transfer (either to/from remote)» Server: remote host! ftp: RFC 959 remote file system! 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 authentication FTP client TCP control connection port 21 TCP data connection port 20 FTP server! ftp server: port

4 Ftp Commands, Responses HTTP Basics 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! STOR filename stores (puts) file onto remote host Sample 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 file! 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 How to Mark End of Message? HTTP Request! 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 15 16

5 HTTP Request 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. with a proxy E.g. /index.html if no proxy» HTTP version! Request headers» Authorization authentication info» Acceptable document types/encodings» From user » If-Modified-Since» Referrer what caused this page to be requested» User-Agent client software! Blank-line! Body HTTP Request Example HTTP Response 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: Connection: Keep-Alive! 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 19 20

6 HTTP Response HTTP Response Example! 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-Modified! Blank-line! Body HTTP/ OK Date: Tue, 27 Mar :49:38 GMT Server: Apache/ (Unix) (Red-Hat/Linux) mod_ssl/2.7.1 OpenSSL/0.9.5a DAV/1.0.2 PHP/4.0.1pl2 mod_perl/1.24 Last-Modified: Mon, 29 Jan :54:18 GMT ETag: "7a11f-10ed-3a75ae4a" Accept-Ranges: bytes Content-Length: 4333 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html Cookies: Keeping state Cookies: Keeping State (Cont.) client Amazon server Many major Web sites use cookies Four components: 1) Cookie header line in the HTTP response message 2) Cookie header line in HTTP request message 3) Cookie file kept on user s host and managed by user s browser 4) Back-end database at Web site Example:» Susan accesses Internet always from same PC» She visits a specific e- commerce site for the first time» When initial HTTP requests arrives at site, site creates a unique ID and creates an entry in backend database for ID Cookie file ebay: 8734 Cookie file amazon: 1678 ebay: 8734 one week later: Cookie file amazon: 1678 ebay: 8734 usual http request msg usual http response + Set-cookie: 1678 usual http request msg cookie: 1678 usual http response msg usual http request msg cookie: 1678 usual http response msg server creates ID 1678 for user cookiespecific action cookiespecific action entry in backend database access access 23 24

7 Typical Workload (Web Pages) HTTP new features! Multiple (typically small) objects per page! File sizes» Why different than request sizes?» Also heavy-tailed Pareto distribution for tail Lognormal for body of distribution! Embedded references» Number of embedded objects = pareto p(x) = ak a x -(a+1)! Newer versions of HTTP add several new features (persistent connections, pipelined transfers) to speed things up.! Let s detour into some performance evaluation and then look at those features Packet Delay Packet Delay Store & Forward Cut-through Prop + xmit 2*(Prop + xmit) 2*prop + xmit! Sum of a number of different delay components.! Propagation delay on each link.» Proportional to the length of the link! Transmission delay on each link.» Proportional to the packet size and 1/link speed! Processing delay on each router.» Depends on the speed of the router! Queuing delay on each router.» Depends on the traffic load and queue size When does cut-through matter? Next: Routers have finite speed (processing delay) D B C B A A Routers may buffer packets (queueing delay) 27 28

8 A Word about Units Application-level Delay! What do Kilo and Mega mean?» Depends on context! Storage works in powers of two.» 1 Byte = 8 bits» 1 KByte = 1024 Bytes» 1 MByte = 1024 Kbytes! Networks work in decimal units.» Network hardware sends bits, not Bytes» 1 Kbps = 1000 bits per second» To avoid confusion, use 1 Kbit/second! Why? Historical: CS versus ECE. Delay of one packet Average sustained throughput Delay * + Size Throughput Units: seconds + bits/(bits/seconds) 29 * For minimum sized packet 30 Some Examples Sustained Throughput! How long does it take to send a 100 Kbit file?» Assume a perfect world» And a 10 Kbit file Throughput Latency 500 µsec 100 Kbit/s 1 Mbit/s Mbit/s ! When streaming packets, the network works like a pipeline.» All links forward different packets in parallel! Throughput is determined by the slowest stage.» Called the bottleneck link! Does not really matter why the link is slow.» Low link bandwidth» Many users sharing the link bandwidth 10 msec 100 msec

9 One more detail: TCP HTTP 0.9/1.0! TCP connections need to be set up» Three Way Handshake : Client Server SYN (Synchronize) SYN/ (Synchronize + Acknowledgement) Data 2: TCP transfers start slowly and then ramp up the! One request/response per TCP connection» Simple to implement! Disadvantages» Multiple connection setups! three-way handshake each time Several extra round trips added to transfer» Multiple slow starts bandwidth used (so they don t use too much) Single Transfer Example Performance Issues Client opens TCP connection Client sends HTTP request for HTML Client parses HTML Client opens TCP connection Client sends HTTP request for image Image begins to arrive 0 RTT 1 RTT 2 RTT 3 RTT 4 RTT Client SYN FIN SYN Server SYN FIN SYN Server reads from disk Server reads from disk! Short transfers are hard on TCP» Stuck in slow start» Loss recovery is poor when windows are small! Lots of extra connections» Increases server state/processing! Servers also hang on to connection state after the connection is closed» Why must server keep these?» Tends to be an order of magnitude greater than # of active connections, why? 35 36

10 Netscape Solution Persistent Connection Solution! Mosaic (original popular Web browser) fetched one object at a time!! Netscape uses multiple concurrent connections to improve response time» Different parts of Web page arrive independently» Can grab more of the network bandwidth than other users! Doesn t necessarily improve response time» TCP loss recovery ends up being timeout dominated because windows are small! Multiplex multiple transfers onto one TCP connection! How to identify requests/responses» Delimiter! Server must examine response for delimiter string» Content-length and delimiter! Must know size of transfer in advance» Block-based transmission! send in multiple length delimited blocks» Store-and-forward! wait for entire response and then use content-length» Solution! use existing methods and close connection otherwise Persistent Connection Solution Persistent HTTP Client sends HTTP request for HTML 0 RTT 1 RTT Client parses HTML Client sends HTTP request for image Image begins to arrive 2 RTT Client Server Server reads from disk Server reads from disk Nonpersistent HTTP issues:! Requires 2 RTTs per object! OS must work and allocate host resources for each TCP connection! But browsers often open parallel TCP connections to fetch referenced objects Persistent HTTP! Server leaves connection open after sending response! Subsequent HTTP messages between same client/server are sent over connection Persistent without pipelining:! Client issues new request only when previous response has been received! One RTT for each referenced object Persistent with pipelining:! Default in HTTP/1.1! Client sends requests as soon as it encounters a referenced object! As little as one RTT for all the referenced objects 39 40

11 Persistent Connection Performance Remaining Problems! Benefits greatest for small objects» Up to 2x improvement in response time! Server resource utilization reduced due to fewer connection establishments and fewer active connections! TCP behavior improved» Longer connections help adaptation to available bandwidth» Larger congestion window improves loss recovery! Serialized transmission» Much of the useful information in first few bytes May be better to get the 1st 1/4 of all images than one complete image (e.g., progressive JPEG)» Can packetize transfer over TCP Could use range requests! Application specific solution to transport protocol problems. :(» Solve the problem at the transport layer» Could fix TCP so it works well with multiple simultaneous connections More difficult to deploy Back to performance Bandwidth Sharing! We examined delay,! But what about throughput?! Important factors:» Link capacity» Other traffic! Bandwidth received on the bottleneck link determines end-to-end throughput.! Router before the bottleneck link decides how much bandwidth each user gets.» Users that try to send at a higher rate will see packet loss! User bandwidth can fluctuate quickly as flows are added or end, or as flows change their transmit rate. 100 BW Time 43 44

12 Fair Sharing of Bandwidth But It is Not that Simple! All else being equal, fair means that users get equal treatment.» Sounds fair! When things are not equal, we need a policy that determines who gets how much bandwidth.» Users who pay more get more bandwidth» Users with a higher rank get more bandwidth» Certain classes of applications get priority 100 BW Time Bottleneck Network Service Models Other Requirements! Set of services that the network provides.! Best effort service: network will do an honest effort to deliver the packets to the destination.» Usually works! Guaranteed services.» Network offers (mathematical) performance guarantees» Can apply to bandwidth, latency, packet loss,..! Preferential services.» Network gives preferential treatment to some packets» E.g. lower queuing delay! Quality of Service is closely related to the question of fairness.! Network reliability.» Network service must always be available! Security: privacy, DOS,..! Scalability.» Scale to large numbers of users, traffic flows,...! Manageability: monitoring, control,..! Requirement often applies not only to the core network but also to the servers.! Requirements imposed by users and network managers

13 Readings! End-to-end arguments in system design, Saltzer, Reed, and Clark, ACM Transactions on Computer Systems, November 1984.! The design philosophy of the DARPA Internet Protocols, Dave Clark, SIGCOMM

Page # Lecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities. Survivability.

Page # Lecture Overview. Lecture 3 Design Philosophy & Applications. Internet Architecture. Priorities. Survivability. Lecture Overview Lecture 3 Design Philosophy & Applications David Andersen School of Computer Science Carnegie Mellon University 15-441 Networking, Fall 2006 http://www.cs.cmu.edu/~srini/15-441/f06/ 1

More information

Lecture Overview : Computer Networking. Applications and Application-Layer Protocols. Client-Server Paradigm

Lecture Overview : Computer Networking. Applications and Application-Layer Protocols. Client-Server Paradigm Lecture Overview 15-441: Computer Networking Last time: Protocol stacks and layering OSI and TCP/IP models Application requirements Lecture 3: Design Philosophy & Applications Application examples ftp

More information

Outline Computer Networking. HTTP Basics (Review) How to Mark End of Message? (Review)

Outline Computer Networking. HTTP Basics (Review) How to Mark End of Message? (Review) Outline 15-441 Computer Networking Lecture 25 The Web HTTP review and details (more in notes) Persistent HTTP review HTTP caching Content distribution networks Lecture 19: 2006-11-02 2 HTTP Basics (Review)

More information

Internet Architecture and Assumptions. David Andersen CMU Computer Science

Internet Architecture and Assumptions. David Andersen CMU Computer Science Internet Architecture and Assumptions David Andersen CMU Computer Science Waitlist ~14 slots in the class ~11-13 students enrolled 16 on waitlist 2 Ph.D. 14 MS Outlook not too good for the MS students.

More information

CMSC 332 Computer Networking Web and FTP

CMSC 332 Computer Networking Web and FTP CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into

More information

Internet Design: Big Picture

Internet Design: Big Picture Internet Design: Big Picture Internet architectural, design and implementation principles not scriptures, but guidelines understand pros and cons, trade-offs involves Original Internet Design Goals what

More information

Web, HTTP and Web Caching

Web, HTTP and Web Caching Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects

More information

CS 678 Spring 2013 Network Architecture and Principles

CS 678 Spring 2013 Network Architecture and Principles CS 678 Spring 2013 Network Architecture and Principles The Design Philosophy of the DARPA Internet Protocols, Dave Clarke, 1988 Ihsan Ayyub Qazi Computer Science Department LUMS SBASSE Slides use info

More information

CE693: Adv. Computer Networking

CE693: Adv. Computer Networking CE693: Adv. Computer Networking L-2 Design Considerations Fall 1391 Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan at CMU. When slides

More information

HyperText Transfer Protocol

HyperText Transfer Protocol Outline Introduce Socket Programming Domain Name Service (DNS) Standard Application-level Protocols email (SMTP) HTTP HyperText Transfer Protocol Defintitions A web page consists of a base HTML-file which

More information

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016 Overview Content Delivery 15-441 15-441 Computer Networking 15-641 Lecture 15: The Web Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 Web Protocol interactions HTTP versions Caching Cookies

More information

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

HTTP Reading: Section and COS 461: Computer Networks Spring 2013 HTTP Reading: Section 9.1.2 and 9.4.3 COS 461: Computer Networks Spring 2013 1 Recap: Client-Server Communication Client sometimes on Initiates a request to the server when interested E.g., Web browser

More information

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10 EE 586 Communication and Switching Networks (Fall 2010) Lecture 10 September 17 2010 1-1 Announcement Send me your group and get group ID HW3 (short) out on Monday Personal leave for next two weeks No

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content

More information

Review of Previous Lecture

Review of Previous Lecture Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose

More information

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 2: Application Layer Our goals: conceptual, implementation

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

CE693: Adv. Computer Networking

CE693: Adv. Computer Networking CE693: Adv. Computer Networking L-2 Design Considerations Fall 1390 Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan at CMU. When slides

More information

Design Considerations : Computer Networking. Outline

Design Considerations : Computer Networking. Outline Design Considerations 15-744: Computer Networking L-2 Design Considerations How to determine split of functionality Across protocol layers Across network nodes Assigned Reading [SRC84] End-to-end Arguments

More information

Goal 0: Connecting Networks. Challenge 1: Address Formats. Challenge 2: Different Packet Sizes. Goals [Clark88]

Goal 0: Connecting Networks. Challenge 1: Address Formats. Challenge 2: Different Packet Sizes. Goals [Clark88] Updates 15-744: Computer Networking L-2 Design Considerations List of course topics is now up to date Choice topics still need to be filled in Readings for the first 5 lectures are up to date Comments

More information

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved CSC358 Week 2 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Tutorial this Friday Assignment 1 will be out shortly

More information

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming with UDP and TCP Application

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Some network apps e-mail web text messaging remote

More information

EECS 3214: Computer Network Protocols and Applications

EECS 3214: Computer Network Protocols and Applications EECS 3214: Computer Network Protocols and Applications Suprakash Datta Course page: http://www.eecs.yorku.ca/course/3214 Office: LAS 3043 Email: datta [at] cse.yorku.ca These slides are adapted from Jim

More information

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model Networking Networking is concerned with the physical topology of two or more communicating entities and the logical topology of data transmission. Layered Model Systems communicate over a shared communication

More information

Network Reading Group

Network Reading Group Network Reading Group The Design Philosophy of the DARPA Internet Protocols by David D. Clark Lecture: Kameswari Chebrolu Tuesday, 22 Feb 2005 http://home.iitk.ac.in/~chebrolu/net-read.html What is Communication?

More information

CSC 4900 Computer Networks:

CSC 4900 Computer Networks: CSC 4900 Computer Networks: Email Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review Last week we talked about design principles, and the application protocols

More information

Application Layer: HTTP

Application Layer: HTTP Application Layer: HTTP EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 23-Jan-18 1-1 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic

More information

Last Time Distributed Systems. Goal 1: Survivability. Goals [Clark88] Fate Sharing. Today s Lecture

Last Time Distributed Systems. Goal 1: Survivability. Goals [Clark88] Fate Sharing. Today s Lecture Last Time 15-440 Distributed Systems Lecture 3 15-440 in 2 Days Modularity, Layering, and Decomposition Example: UDP layered on top of IP to provide application demux (ports) Resource sharing and isolation

More information

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols

Week 2 / Paper 1. The Design Philosophy of the DARPA Internet Protocols Week 2 / Paper 1 The Design Philosophy of the DARPA Internet Protocols David D. Clark ACM CCR, Vol. 18, No. 4, August 1988 Main point Many papers describe how the Internet Protocols work But why do they

More information

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol

More information

CS 43: Computer Networks. HTTP September 10, 2018

CS 43: Computer Networks. HTTP September 10, 2018 CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.

More information

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming

More information

Layered Model. DoD Model. ISO/OSI Model

Layered Model. DoD Model. ISO/OSI Model Data Communications vs Networking (later) Communication is concerned with the transmission of data over a communication medium/channel between two entities. Here we are more concerned about EE issues such

More information

HTTP and Web Content Delivery

HTTP and Web Content Delivery HTTP and Web Content Delivery COS 461: Computer Networks Spring 2011 Mike Freedman hgp://www.cs.princeton.edu/courses/archive/spring11/cos461/ 2 Outline Layering HTTP HTTP conneclon management and caching

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

More information

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa NET 331 Computer Networks Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth

More information

Last Time. Lecture 2 Protocol Stacks and Layering. Today s Lecture. Why protocols and layering? Protocol and Service Levels. How to Design a Network?

Last Time. Lecture 2 Protocol Stacks and Layering. Today s Lecture. Why protocols and layering? Protocol and Service Levels. How to Design a Network? Lecture Protocol Stacks and Layering Khaled Harras School of Computer Science University, Computer s Based on slides from previous lectures Last Time The Big Picture Goals: Efficiency ilities (scalability,

More information

Foundations of Telematics

Foundations of Telematics Foundations of Telematics Chapter 2 Application Layer Principles of network applications Important application protocols Using sockets Acknowledgement: These slides have been prepared by J.F. Kurose and

More information

Application Protocols and HTTP

Application Protocols and HTTP Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Homework #1 Assigned today Due in one week Application layer: DNS, HTTP, protocols Recommend you start early

More information

CS 268: Computer Networking

CS 268: Computer Networking CS 268: Computer Networking L-2 Design Considerations Design Considerations How to determine split of functionality Across protocol layers Across network nodes Assigned Reading [SRC84] End-to-end Arguments

More information

DATA COMMUNICATOIN NETWORKING

DATA COMMUNICATOIN NETWORKING DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet

More information

Distributed Systems /640

Distributed Systems /640 Distributed Systems 15-440/640 Fall 2018 3 Communication: The Internet in a Day (ctnd) Announcements Recitations Tomorrow (9/5) Wean 7500 to go over the basics of Golang at 6pm and again at 7pm Prepare

More information

CS4/MSc Computer Networking. Lecture 3: The Application Layer

CS4/MSc Computer Networking. Lecture 3: The Application Layer CS4/MSc Computer Networking Lecture 3: The Application Layer Computer Networking, Copyright University of Edinburgh 2005 Network Applications Examine a popular network application: Web Client-server architecture

More information

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018 416 Distributed Systems Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018 1 Last Time Modularity, Layering, and Decomposition Example: UDP layered on top of IP to provide

More information

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose CSEN 404 Introduction to Networks Mervat AbuElkheir Mohamed Abdelrazik ** Slides are attributed to J. F. Kurose HTTP Method Types HTTP/1.0 GET POST HEAD asks server to leave requested object out of response

More information

Internet Content Distribution

Internet Content Distribution Internet Content Distribution Chapter 1: Introduction Jussi Kangasharju Chapter Outline Introduction into content distribution Basic concepts TCP DNS HTTP Outline of the rest of the course Kangasharju:

More information

WWW: the http protocol

WWW: the http protocol Internet apps: their protocols and transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file Internet telephony Application layer protocol smtp [RFC

More information

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018 416 Distributed Systems Networks review; Day 1 of 2 Jan 5 + 8, 2018 1 Distributed Systems vs. Networks Low level (c/go) Run forever Support others Adversarial environment Distributed & concurrent Resources

More information

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng. CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail SMTP, POP3, IMAP DNS

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer Reference: Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007. Application Layer 1 Chapter 2: Application layer 2.1 Principles

More information

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCE 463/612 Networks and Distributed Processing Spring 2018 CSCE 463/612 Networks and Distributed Processing Spring 2018 Application Layer II Dmitri Loguinov Texas A&M University February 6, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter

More information

Internet Design Principles and Architecture

Internet Design Principles and Architecture Internet Design Principles and Architecture Venkat Padmanabhan Microsoft Research 2 April 2001 Venkat Padmanabhan 1 Lecture Outline A brief history of the Internet How is the Internet different from the

More information

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication Mobile network Chapter 2 The Yanmin Zhu Department of Computer Science and Engineering Global ISP Home network Regional ISP Institutional network CSE Department 1 CSE Department 2 Application layer - Overview

More information

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 6 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts

More information

Application Level Protocols

Application Level Protocols Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application

More information

Computer Networks. HTTP and more. Jianping Pan Spring /20/17 CSC361 1

Computer Networks. HTTP and more. Jianping Pan Spring /20/17 CSC361 1 Computer Networks HTTP and more Jianping Pan Spring 2017 1/20/17 CSC361 1 First things first W1 due next Monday (Jan 23) submit a single PDF file through connex Noah posted a docx for for questions on

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Application Layer: Cookies, Web Caching, SMTP Sec 2.2.4-2.4 Prof. Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network

More information

Review for Internet Introduction

Review for Internet Introduction Review for Internet Introduction What s the Internet: Two Views View 1: Nuts and Bolts View billions of connected hosts routers and switches protocols control sending, receiving of messages network of

More information

CSC 257/457 Computer Networks. Fall 2017 MW 4:50 pm 6:05 pm CSB 601

CSC 257/457 Computer Networks. Fall 2017 MW 4:50 pm 6:05 pm CSB 601 CSC 257/457 Computer Networks Fall 2017 MW 4:50 pm 6:05 pm CSB 601 CHAPTER 2 (APPLICATION LAYER) User-server state: cookies many Web sites use cookies four components: 1) cookie header line of HTTP response

More information

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 CSC 401 Data and Computer Communications Networks Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network applications 2.2

More information

Network Applications Principles of Network Applications

Network Applications Principles of Network Applications Network Applications Principles of Network Applications A Network application is an application running on one host and provides communication to another application running on a different host. At the

More information

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved World-Wide Web Protocols CS 571 Fall 2006 2006 Kenneth L. Calvert All rights reserved World-Wide Web The Information Universe World-Wide Web structure: hypertext Nonlinear presentation of information Key

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

Lecture 11. Transport Layer (cont d) Transport Layer 1

Lecture 11. Transport Layer (cont d) Transport Layer 1 Lecture 11 Transport Layer (cont d) Transport Layer 1 Agenda The Transport Layer (continue) Connection-oriented Transport (TCP) Flow Control Connection Management Congestion Control Introduction to the

More information

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, ydlin@cs.nctu.edu.tw Chapter 1: Introduction 1. How does Internet scale to billions of hosts? (Describe what structure

More information

Design Considerations : Computer Networking. Outline. Challenge 1: Address Formats. Challenge. How to determine split of functionality

Design Considerations : Computer Networking. Outline. Challenge 1: Address Formats. Challenge. How to determine split of functionality Design Considerations 15-744: Computer Networking L-2 Design Considerations How to determine split of functionality Across protocol layers Across network nodes Assigned Reading [SRC84] End-to-end Arguments

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

Application Layer Introduction; HTTP; FTP

Application Layer Introduction; HTTP; FTP Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers

More information

CS 43: Computer Networks. Layering & HTTP September 7, 2018

CS 43: Computer Networks. Layering & HTTP September 7, 2018 CS 43: Computer Networks Layering & HTTP September 7, 2018 Last Class: Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network:

More information

CS 268: Internet Architecture & E2E Arguments. Today s Agenda. Scott Shenker and Ion Stoica (Fall, 2010) Design goals.

CS 268: Internet Architecture & E2E Arguments. Today s Agenda. Scott Shenker and Ion Stoica (Fall, 2010) Design goals. CS 268: Internet Architecture & E2E Arguments Scott Shenker and Ion Stoica (Fall, 2010) 1 Today s Agenda Design goals Layering (review) End-to-end arguments (review) 2 1 Internet Design Goals Goals 0 Connect

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach Chapter 2 Application Layer Lecture 4: principles of network applications Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Chapter

More information

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016 Internet Technology 06. Exam 1 Review Paul Krzyzanowski Rutgers University Spring 2016 March 2, 2016 2016 Paul Krzyzanowski 1 Question 1 Defend or contradict this statement: for maximum efficiency, at

More information

CSC2209 Computer Networks

CSC2209 Computer Networks CSC2209 Computer Networks Network Architecture Stefan Saroiu Computer Science University of Toronto Outline Overview Protocols and layering Brief Internet tour E2E paper Internet design philosophy Protocols

More information

WEB TECHNOLOGIES CHAPTER 1

WEB TECHNOLOGIES CHAPTER 1 WEB TECHNOLOGIES CHAPTER 1 WEB ESSENTIALS: CLIENTS, SERVERS, AND COMMUNICATION Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson THE INTERNET Technical origin: ARPANET (late 1960

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and

More information

Networking and Internetworking 1

Networking and Internetworking 1 Networking and Internetworking 1 Today l Networks and distributed systems l Internet architecture xkcd Networking issues for distributed systems Early networks were designed to meet relatively simple requirements

More information

Computer Network Midterm Explain Internet protocol stack (1% each layer s name, 1% each layer s functions, 10% total)

Computer Network Midterm Explain Internet protocol stack (1% each layer s name, 1% each layer s functions, 10% total) 1. Explain Internet protocol stack (1% each layer s name, 1% each layer s functions, 10% total) 2. Describe detailed operations of HTTP cookie, web caching and conditional GET. (6*3=18%)( 說明其用處, 並畫圖加解釋每步驟

More information

CMSC 322 Computer Networks Applications and End-To- End

CMSC 322 Computer Networks Applications and End-To- End CMSC 322 Computer Networks Applications and End-To- End Professor Doug Szajda CMSC 332: Computer Networks Announcements Project 2 has been posted and is due Monday, February 8 (No extension!) Homework

More information

Need For Protocol Architecture

Need For Protocol Architecture Chapter 2 CS420/520 Axel Krings Page 1 Need For Protocol Architecture E.g. File transfer Source must activate communications path or inform network of destination Source must check destination is prepared

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

IP Packet Switching. Goals of Todayʼs Lecture. Simple Network: Nodes and a Link. Connectivity Links and nodes Circuit switching Packet switching

IP Packet Switching. Goals of Todayʼs Lecture. Simple Network: Nodes and a Link. Connectivity Links and nodes Circuit switching Packet switching IP Packet Switching CS 375: Computer Networks Dr. Thomas C. Bressoud Goals of Todayʼs Lecture Connectivity Links and nodes Circuit switching Packet switching IP service model Best-effort packet delivery

More information

Need For Protocol Architecture

Need For Protocol Architecture Chapter 2 CS420/520 Axel Krings Page 1 Need For Protocol Architecture E.g. File transfer Source must activate communications path or inform network of destination Source must check destination is prepared

More information

Design Principles : Fundamentals of Computer Networks Bill Nace

Design Principles : Fundamentals of Computer Networks Bill Nace Design Principles 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia No Paper Review for today

More information

CSC 4900 Computer Networks: End-to-End Design

CSC 4900 Computer Networks: End-to-End Design CSC 4900 Computer Networks: End-to-End Design Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review In the last two lectures, we discussed the fundamentals of networking

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CS 312 Internet Concepts Applications & Application-Layer Protocols: The Web & HTTP Dr. Michele Weigle Department of Computer Science Old Dominion University mweigle@cs.odu.edu http://www.cs.odu.edu/~mweigle/cs312-f11/

More information

Different Layers Lecture 21

Different Layers Lecture 21 Different Layers Lecture 21 10/17/2003 Jian Ren 1 The Transport Layer 10/17/2003 Jian Ren 2 Transport Services and Protocols Provide logical communication between app processes running on different hosts

More information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology

More information

Internet Technology 3/2/2016

Internet Technology 3/2/2016 Question 1 Defend or contradict this statement: for maximum efficiency, at the expense of reliability, an application should bypass TCP or UDP and use IP directly for communication. Internet Technology

More information

Basics of datacommunication

Basics of datacommunication Data communication I Lecture 1 Course Introduction About the course Basics of datacommunication How is information transported between digital devices? Essential data communication protocols Insight into

More information

Lecture 12. Application Layer. Application Layer 1

Lecture 12. Application Layer. Application Layer 1 Lecture 12 Application Layer Application Layer 1 Agenda The Application Layer (continue) Web and HTTP HTTP Cookies Web Caches Simple Introduction to Network Security Various actions by network attackers

More information

Architectural Principles

Architectural Principles Architectural Principles Brighten Godfrey CS 538 January 29 2018 slides 2010-2017 by Brighten Godfrey unless otherwise noted Cerf and Kahn: TCP/IP Clark: TCP / IP design philosophy Goals of the architecture

More information

Computer Communication Networks Midterm Review

Computer Communication Networks Midterm Review Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your

More information

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP Web Programming - 2 (Ref: Chapter 2) TCP/IP Basics Internet Architecture Client Server Basics URL and MIME Types HTTP Routers interconnect the network TCP/IP software provides illusion of a single network

More information

416 Distributed Systems. Networks review; Day 2 of 2 And start of RPC Jan 13, 2016

416 Distributed Systems. Networks review; Day 2 of 2 And start of RPC Jan 13, 2016 416 Distributed Systems Networks review; Day 2 of 2 And start of RPC Jan 13, 2016 1 Last Time Modularity, Layering, and Decomposition Example: UDP layered on top of IP to provide application demux ( ports

More information

Data and Computer Communications

Data and Computer Communications Data and Computer Communications Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications Eighth Edition by William Stallings Chap2: 1 Need For Protocol Architecture data exchange can involve

More information

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Do you remember the various mechanisms we have

More information

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols Integrated services Reading: S. Keshav, An Engineering Approach to Computer Networking, chapters 6, 9 and 4 Module objectives Learn and understand about: Support for real-time applications: network-layer

More information