By Jory Cohen Made for CISC856, Spring 2010 Thanks to Dr. Amer, Mike Belshe(Google), Jon Leighton.

Slides:



Advertisements
Similar presentations
Adobe’s Real Time Messaging Protocol
Advertisements

SPDY - Clean Slate HTTP Note: This presentation is being loaded over SPDY.
Traffic Infrastructure ©2013 LinkedIn Corporation. All Rights Reserved. HTTP/2 and a faster Web What it is, what it does and what does it mean.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Secure Socket Layer.
CCNA – Network Fundamentals
SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY.
HTTP Cookies. CPSC Application Layer 2 User-server state: cookies Many major Web sites use cookies Four components: 1) cookie header line of HTTP.
CS3505 The Internet and Info Hiway transport layer protocols : TCP/UDP.
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
An Empirical Study of Real Audio Traffic A. Mena and J. Heidemann USC/Information Sciences Institute In Proceedings of IEEE Infocom Tel-Aviv, Israel March.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
Chapter 2: Application Layer
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
Performance Comparison of Congested HTTP/2 Links Brian Card, CS /7/
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Putting the Network to Work
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Network. Add speed of light and speed in fiber Inspired by High Performance Browser Networking (Ilya Grigorik) Even Faster Web Sites (Steve Souders)
Process-to-Process Delivery:
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Fundamental of IP network ~ ping, traceroute ~ Practice 1 Information and Communications Technology Internet Engineering.
Daniel Johnson. Playing a media file stored on a remote server on a local client.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Information Flow Across the Internet. What is the Internet? A large group of computers that link together to form the Worldwide Area Network (WAN)
NETWORK HARDWARE AND SOFTWARE MR ROSS UNIT 3 IT APPLICATIONS.
In-class Paper Review #2 “Improving World Wide Web Latency” By Venkata N. Padmanabhan Department of Computer Science Southern Illinois University Edwardsville.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Networking Basics CCNA 1 Chapter 11.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
HTTP/2 and ATS ATS Fall Summit 2015 Bryan Call. Why HTTP/2? Reduce latency and TCP connection overhead Easier to write well-performing sites (no domain.
Chapter 9: Transport Layer
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
HyperText Transfer Protocol (HTTP) Deepti Kulkarni CISC 856: TCP/IP and Upper Layer Protocols Fall 2008 Acknowledgements Professor Amer Richi Gupta.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Web Protocols: HTTP COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Java’s networking capabilities are declared by the classes and interfaces of package java.net, through which Java offers stream-based communications that.
By Zach Archer COSC 480. Road map What is SPDY Timeline SPDY gateways Major Advances over HTTP Where SPDY is Currently Closing Thoughts.
Bryan Call ATS Spring Summit 2016
Hypertext Transfer Protocol (HTTP) COMP6218 Web Architecture Dr Nicholas Gibbins –
LESSON Networking Fundamentals Understand TCP/IP.
Block 5: An application layer protocol: HTTP
Quick UDP Internet Connections
Internet transport protocols services
PART 5 Transport Layer Computer Networks.
Some Common Terms The Internet is a network of computers spanning the globe. It is also called the World Wide Web. World Wide Web It is a collection of.
Networking for Home and Small Businesses – Chapter 6
Multipath QUIC: Design and Evaluation
Utilization of Azure CDN for the large file distribution
Networking for Home and Small Businesses – Chapter 6
Computer Communication & Networks
Process-to-Process Delivery:
CSE 461 HTTP and the Web.
HTTP/2.
Hyper Text Transfer Protocol
Hypertext Transfer Protocol (HTTP)
Networking for Home and Small Businesses – Chapter 6
Presentation transcript:

By Jory Cohen Made for CISC856, Spring 2010 Thanks to Dr. Amer, Mike Belshe(Google), Jon Leighton

 Experimental protocol being researched by Google and the UD PEL  Application-layer protocol for transporting content over the web, designed specifically for minimal latency

 HTTP is inefficient ◦ Single request per connection  Browsers now open 6 connections per domain for concurrency ◦ Only clients can initiate requests ◦ Header size – 200 bytes to over 2 KB ◦ Redundant headers ◦ Optional data compression

 Multiplexed requests ◦ No limit to number of requests over SPDY connection  Prioritized requests  Compressed headers and data  Server push and server hint  Only changes way data is written to network ◦ SPDY keeps cookies, encoding negotiations, etc. same as HTTP

 Streams can be bi-directional  SPDY allows for unlimited concurrent streams over a single TCP connection  Fewer network connections need to be made, and fewer, but more densely packed, packets are issued

 The client can request as many items as the client wants from the server, and assign a priority to each request  SPDY compresses request and response HTTP headers, resulting in fewer TCP PDUs and fewer bytes transmitted

 Server pushes to the client before something is requested ◦ Valuable for visiting a webpage, server knows everything that should be requested ◦ Reduces the client’s processing time before being able to send out subsequent requests ◦ Server must open multiple streams

ClientServer HTTP Get request Response for HTTP Get Server push Server Push Example Stream 1 Stream 8 Stream 6 Stream 4 Stream 2

 Server tells client that it will probably ask for certain resources ◦ Client can request resources due to server hint much faster than without ◦ Client can also make decision to ignore hint given by the server ◦ Has similar benefit to server push, reduces processing time necessary at client before new requests are sent to the server

ClientServer HTTP Get request Response for HTTP Get Server hints to client Client request based on hint Server responses Server Hint Example Stream 1 Stream 2 Stream 3 Stream 5 Stream 7 Stream 9 Streams 3,5,7,9

 Connections started by the client must be odd  Connections started by the server must be even  Stream number 99 can be initiated before stream number 2  No steam ID of 0  Stream must be set to be unidirectional in SYN_STREAM, default would be bi-directional

 Client sends SYN_STREAM to open connection  Client can begin sending data or requests for data without waiting for response  After client is done sending, client sets the FLAG_FIN flag and connection is half closed

ClientServer SYN_STREAM Data or Requests Stream ID = 1 SYN_STREAM Data or Requests Stream ID = 3 SYN_STREAM Stream ID = 2 Data or Requests SYN_REPLY SYN_REPLY Stream 3 & Data Stream 1 Stream ID = 1

 Normal termination ◦ Both sides have sent FLAG_FIN  Abrupt termination ◦ One side sends RST_STREAM  TCP connection teardown ◦ Both sides must realize that the connection was abnormally terminated

ClientServer Data + FLAG_FINStream 3 Data reply for Stream 3 Data reply for Stream 3 + FLAG_FIN

4244 bytes on wire, 9978 total bytes uncompressed. 42% of bytes without compression. 861 bytes on the wire, 2299 total bytes uncompressed. 37% of bytes without compression.

 NOOP ◦ Receiver does nothing, ignores PDU  PING ◦ Used to test RTT, takes priority over data  GOAWAY ◦ Used for graceful termination ◦ Contains a last good stream number  HEADERS ◦ Used to send additional headers that would not fit in a previous PDU  WINDOW_UPDATE ◦ Used for per stream flow control in SPDY

 SETTINGS ◦ Used to communicate ID/value pairs  Upload bandwidth  Download bandwidth  Round trip time  Maximum concurrent streams  Current CWND  Persistence of previous settings

Download of 25 websites with 1% constant packet loss. Download was run 10 times for each site and average page load time is reported. [1]

Download of 25 websites with 1% constant packet loss. Download was run 10 times for each site and average page load time is reported.[1]

Download of 25 websites with 1% constant packet loss. Download was run 10 times for each site and average page load time is reported.[1]

 SPDY enabled Chrome browser with Flip-in- mem server  SPDY “plug-in” for wireshark  Use SCTP with SPDY

 SPDY protocol specification protocol/spdy-protocol-draft2  SPDY white paper whitepaper [1]  SPDY homepage with other resources