SlideShare uma empresa Scribd logo
1 de 18
QUIC

Quick UDP Internet Connections
Aluno: Felipe Rayel
Professores: Christian Esteve Rothenbeg, Maurício Ferreira
Magalhães

IA368- Tópicos em Engenharia de Computação V
Faculdade de Engenharia Elétrica e de Computação UNICAMP
Nov/2013
AGENDA
•
•
•
•
•
•

Overview
Motivations
Goals
Specification
Adoption
Conclusion
OVERVIEW
• HTTP 1.1 (1999)
OVERVIEW
•
•
•
•
•

Google SPDY (2009)
Over TCP
Multiplexing (requests not waiting for previous GETs to complete)
Server Push
Header compression
MOTIVATIONS
• SPDY over TCP has problem
• On TCP: 1 packet delay/loss affect all streams
• Next HTTP Request need wait

• 3-way-handshake
• TCP=1.5 RTT / SSL = 3 RTT

• Single congestion window
• One window for all streams
GOALS
• QUIC (2013) = Build reliable layer on UDP
• Widespread deployability in today’s internet
• Middlebox = tipically block anything other than TCP or UDP
• Modification over TCP = Need kernel changes
• TCP Extension = Over 10 years or more

• Packet loss dosen’t effects all streams
• One stream for each request. Packets sent out of order

• Less RTT
• Ack dont needed. No handshake. 0RTT

• Separate congestion window
• One window for each stream.
GOALS
• SSL layer
• Packet level error correction
• Reduced latency achieved by using error correction, rather
than retransmission.

• Improved support for mobile
• Mobile Clients = tendency to turn off a radio communications
• TCP connections = closed during radio shutdowns + latency
costs for session continuations

• Reduced bandwidth consumption
• Reduced packetcount
SPECIFICATION
• Connection :
•
•
•
•

QUIC framing layer runs atop UDP
Session Initiated by client
Bidirectional exchange of packets identified by a GUID
When a server decides to terminate an idle session, it should
not notify the client to avoid waking up the radio on mobile
devices.
SPECIFICATION
• GUID (Globally Unique Identifier):
• 64 bit pseudo random number selected by the client
• Is the key to the connection.
• QUIC sessions are designed to remain established even if
the client roams
• The IP 4tuple (source IP, source port, destination IP,
destination port) may be insufficient to identify the
connection
SPECIFICATION
• Framing:
• data packets (contain stream payload data, ACK data,
and control data)
• ACK Frame = Used to coordinate packet loss recovery
• Not identical to an ACK packet in TCP
• ACK in QUIC is always cumulative

• FEC packets (contain parity data which allows dropped
packets to be recovered.)
SPECIFICATION
• Packet Header
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

0
1
2
3
4
5
6
7
8
+--------+--------+--------+--------+--------+--------+--------+--------+--------+
| Public | GUID (0, 8, 32, or 64)
| ->
|Flags(8)| (variable length)
|
+--------+--------+--------+--------+--------+--------+--------+--------+--------+
9
10
11
12
13
14
15
+--------+--------+--------+--------+--------+--------+--------+
| Quic Version (32)
| (cont) ->
| (optional)
|
+--------+--------+--------+--------+--------+--------+--------+
16
17
18
19
20
+--------+--------+--------+--------+--------+
Sequence (8,16,32,or 48)
|Private | FEC (8)|
Number (variable length)
|Flags(8)| (opt) |
+--------+--------+--------+--------+--------+
SPECIFICATION
• Data Packet
•
•
•

+--------+.........+--------+.........+
| Type
| Payload | Type
| Payload |
+--------+.........+--------+.........+

• After a header in a packet, there is always a payload block of ciphertext
authenticated by an AEAD (Authenticated Encryption with Associated Data )
algorithm.
SPECIFICATION
• FEC (Forward Error Correction) Packet
•

16

•
•
•

+............+
| Redundancy |
+............+

• QUIC can send periodic FEC packets which contain
redundant data.
• Can allow lost packets to be recovered without needing to be
retransmitted.
• TCP requires the client to wait for a retry timeout to expire.
• FEC packets (FLAG_FEC set) have a payload that simply
contains an XOR of the nullpadded payload of each Data
Packet in the FEC group.
SPECIFICATION
• Streams
• Are independent sequences of bidirectional data;
• Can be created either by the client or the server;
• To avoid collisions when creating new streams:
• Initialized by the client start with an odd number;
• Initialized by the server with an even number;
• In either case, the numbers must always increase.

• Priority
• A stream may be dependent on another stream.
• Parent streams have an explicit priority over child streams.
DEPLOYMENT
• Planned: UDP port 80 or UDP port 443
• In both cases, will be encrypting the traffic (to avoid
accidental damage by middle boxes)
• Wide deployment as being plausible within 1-2 years

• To specify QUIC as an alternate protocol available on port
123, use:
• Alternate-Protocol: 123:quic
• When a client receives a AlternateProtocol header advertising
QUIC, it should attempt to use QUIC for future secure
connections on that domain.
ADOPTION
• Client
• Has been part of version 29 (released on August 20, 2013) of Chrome.
ADOPTION
• Server
• Google published a prototype
• https://code.google.com/p/chromium
CONCLUSIONS
• Latency Reduction

• SPDY is good, QUIC is better

• Fast adoption

• In 2012, SPDY supported in Chrome, Firefox, and Opera,
• Many large web destinations (e.g., Google, Twitter, Facebook) were offering SPDY to
compatible clients.

• Patent

• SPDY is not patented
• FAST TCP is Patented, nobody uses

• HTTP 2.0

• HTTP Working Group (HTTP-WG) kicked off the new HTTP 2.0 effort in early 2012 to take
the lessons learned from SPDY and apply them to the official standard.

• Lost FEC Packet

• What Happens?

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Linux Linux Traffic Control
Linux Linux Traffic ControlLinux Linux Traffic Control
Linux Linux Traffic Control
 
VoIP
VoIPVoIP
VoIP
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for Developers
 
Mk ppt chapter 5
Mk ppt chapter 5Mk ppt chapter 5
Mk ppt chapter 5
 
HTTPS
HTTPSHTTPS
HTTPS
 
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
 
Github
GithubGithub
Github
 
Le protocole rip
Le protocole rip Le protocole rip
Le protocole rip
 
Tutorial Git
Tutorial GitTutorial Git
Tutorial Git
 
WebRTC DataChannels demystified
WebRTC DataChannels demystifiedWebRTC DataChannels demystified
WebRTC DataChannels demystified
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
Routage ospf
Routage ospfRoutage ospf
Routage ospf
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
HTTP/2 Changes Everything
HTTP/2 Changes EverythingHTTP/2 Changes Everything
HTTP/2 Changes Everything
 
Ssl https
Ssl httpsSsl https
Ssl https
 
DDoS Mitigation using BGP Flowspec
DDoS Mitigation using BGP Flowspec DDoS Mitigation using BGP Flowspec
DDoS Mitigation using BGP Flowspec
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratch
 
Déploiement d'une infrastructure à  clé publique enjeux et conformité 1.2
Déploiement d'une infrastructure à  clé publique   enjeux et conformité 1.2Déploiement d'une infrastructure à  clé publique   enjeux et conformité 1.2
Déploiement d'une infrastructure à  clé publique enjeux et conformité 1.2
 
Présentation de nagios
Présentation de nagiosPrésentation de nagios
Présentation de nagios
 
Mise en place d’un serveur proxy : Cas du CCProxy
Mise en place d’un serveur proxy : Cas du CCProxyMise en place d’un serveur proxy : Cas du CCProxy
Mise en place d’un serveur proxy : Cas du CCProxy
 

Destaque

HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 eraHTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 erapeychevi
 
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28Jxck Jxck
 
Quic을 이용한 네트워크 성능 개선
 Quic을 이용한 네트워크 성능 개선 Quic을 이용한 네트워크 성능 개선
Quic을 이용한 네트워크 성능 개선NAVER D2
 
自動運転の概要
自動運転の概要自動運転の概要
自動運転の概要Shuya Osaki
 
Primer to Browser Netwroking
Primer to Browser NetwrokingPrimer to Browser Netwroking
Primer to Browser NetwrokingShuya Osaki
 
Best practices for creating modular Web applications
Best practices for creating modular Web applicationsBest practices for creating modular Web applications
Best practices for creating modular Web applicationspeychevi
 
Beyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocolsBeyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocolsOlivier Bonaventure
 
O modelo htm e sua aplicação no processamento de linguagem natural
O modelo htm e sua aplicação no processamento de linguagem naturalO modelo htm e sua aplicação no processamento de linguagem natural
O modelo htm e sua aplicação no processamento de linguagem naturalFelipe Rayel
 
Skolebibl Birgitte
Skolebibl BirgitteSkolebibl Birgitte
Skolebibl Birgittebirkle17
 
Showroom Customer Intelligence IOT Enablement
Showroom Customer Intelligence IOT EnablementShowroom Customer Intelligence IOT Enablement
Showroom Customer Intelligence IOT EnablementStephen Sum
 
CxM in the IoT: the case for service verticals integration
CxM in the IoT: the case for service verticals integrationCxM in the IoT: the case for service verticals integration
CxM in the IoT: the case for service verticals integrationAlfeo Pareschi
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 IntroductionWalter Liu
 
The IoT-CSX Transformation
The IoT-CSX TransformationThe IoT-CSX Transformation
The IoT-CSX TransformationCapgemini
 
Connected Service: Leveraging M2M and IoT Data to Create Proactive 1:1 Custom...
Connected Service: Leveraging M2M and IoT Data to Create Proactive 1:1 Custom...Connected Service: Leveraging M2M and IoT Data to Create Proactive 1:1 Custom...
Connected Service: Leveraging M2M and IoT Data to Create Proactive 1:1 Custom...Capgemini
 
Data Serialization Using Google Protocol Buffers
Data Serialization Using Google Protocol BuffersData Serialization Using Google Protocol Buffers
Data Serialization Using Google Protocol BuffersWilliam Kibira
 
Neurodyn 10 canais 2013
Neurodyn 10 canais 2013Neurodyn 10 canais 2013
Neurodyn 10 canais 2013IBRAMED
 
Top 10 Drivers for Service Innovation in the Emerging IoT World
Top 10 Drivers for Service Innovation in the Emerging IoT WorldTop 10 Drivers for Service Innovation in the Emerging IoT World
Top 10 Drivers for Service Innovation in the Emerging IoT WorldDigital Service Cloud
 
Insurtech what’s in it for the customer
Insurtech what’s in it for the customerInsurtech what’s in it for the customer
Insurtech what’s in it for the customerMatteo Carbone
 

Destaque (20)

Quic
QuicQuic
Quic
 
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 eraHTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
 
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
 
Quic을 이용한 네트워크 성능 개선
 Quic을 이용한 네트워크 성능 개선 Quic을 이용한 네트워크 성능 개선
Quic을 이용한 네트워크 성능 개선
 
自動運転の概要
自動運転の概要自動運転の概要
自動運転の概要
 
Primer to Browser Netwroking
Primer to Browser NetwrokingPrimer to Browser Netwroking
Primer to Browser Netwroking
 
Best practices for creating modular Web applications
Best practices for creating modular Web applicationsBest practices for creating modular Web applications
Best practices for creating modular Web applications
 
Beyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocolsBeyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocols
 
O modelo htm e sua aplicação no processamento de linguagem natural
O modelo htm e sua aplicação no processamento de linguagem naturalO modelo htm e sua aplicação no processamento de linguagem natural
O modelo htm e sua aplicação no processamento de linguagem natural
 
Skolebibl Birgitte
Skolebibl BirgitteSkolebibl Birgitte
Skolebibl Birgitte
 
Showroom Customer Intelligence IOT Enablement
Showroom Customer Intelligence IOT EnablementShowroom Customer Intelligence IOT Enablement
Showroom Customer Intelligence IOT Enablement
 
CxM in the IoT: the case for service verticals integration
CxM in the IoT: the case for service verticals integrationCxM in the IoT: the case for service verticals integration
CxM in the IoT: the case for service verticals integration
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
The IoT-CSX Transformation
The IoT-CSX TransformationThe IoT-CSX Transformation
The IoT-CSX Transformation
 
Connected Service: Leveraging M2M and IoT Data to Create Proactive 1:1 Custom...
Connected Service: Leveraging M2M and IoT Data to Create Proactive 1:1 Custom...Connected Service: Leveraging M2M and IoT Data to Create Proactive 1:1 Custom...
Connected Service: Leveraging M2M and IoT Data to Create Proactive 1:1 Custom...
 
Data Serialization Using Google Protocol Buffers
Data Serialization Using Google Protocol BuffersData Serialization Using Google Protocol Buffers
Data Serialization Using Google Protocol Buffers
 
Google Protocol Buffers
Google Protocol BuffersGoogle Protocol Buffers
Google Protocol Buffers
 
Neurodyn 10 canais 2013
Neurodyn 10 canais 2013Neurodyn 10 canais 2013
Neurodyn 10 canais 2013
 
Top 10 Drivers for Service Innovation in the Emerging IoT World
Top 10 Drivers for Service Innovation in the Emerging IoT WorldTop 10 Drivers for Service Innovation in the Emerging IoT World
Top 10 Drivers for Service Innovation in the Emerging IoT World
 
Insurtech what’s in it for the customer
Insurtech what’s in it for the customerInsurtech what’s in it for the customer
Insurtech what’s in it for the customer
 

Semelhante a Google QUIC

PAC 2019 virtual Scott Moore
PAC 2019  virtual   Scott Moore PAC 2019  virtual   Scott Moore
PAC 2019 virtual Scott Moore Neotys
 
AusNOG 2023: A quick look at QUIC
AusNOG 2023: A quick look at QUICAusNOG 2023: A quick look at QUIC
AusNOG 2023: A quick look at QUICAPNIC
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101HungWei Chiu
 
Innovation is back in the transport and network layers
Innovation is back in the transport and network layersInnovation is back in the transport and network layers
Innovation is back in the transport and network layersOlivier Bonaventure
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9Waqas Ahmed Nawaz
 
New Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceNew Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceAnil Nair
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7Karel Zikmund
 
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPROIDEA
 
Network protocols and vulnerabilities
Network protocols and vulnerabilitiesNetwork protocols and vulnerabilities
Network protocols and vulnerabilitiesG Prachi
 
Ntc 362 effective communication uopstudy.com
Ntc 362 effective communication   uopstudy.comNtc 362 effective communication   uopstudy.com
Ntc 362 effective communication uopstudy.comULLPTT
 
Ntc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.comNtc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.comULLPTT
 
Dccp evaluation for sip signaling ict4 m
Dccp evaluation for sip signaling   ict4 m Dccp evaluation for sip signaling   ict4 m
Dccp evaluation for sip signaling ict4 m Agus Awaludin
 
It nv51 instructor_ppt_ch9
It nv51 instructor_ppt_ch9It nv51 instructor_ppt_ch9
It nv51 instructor_ppt_ch9newbie2019
 
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)Art Schanz
 

Semelhante a Google QUIC (20)

CoAP Talk
CoAP TalkCoAP Talk
CoAP Talk
 
PAC 2019 virtual Scott Moore
PAC 2019  virtual   Scott Moore PAC 2019  virtual   Scott Moore
PAC 2019 virtual Scott Moore
 
TCP-IP PROTOCOL
TCP-IP PROTOCOLTCP-IP PROTOCOL
TCP-IP PROTOCOL
 
AusNOG 2023: A quick look at QUIC
AusNOG 2023: A quick look at QUICAusNOG 2023: A quick look at QUIC
AusNOG 2023: A quick look at QUIC
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101
 
Innovation is back in the transport and network layers
Innovation is back in the transport and network layersInnovation is back in the transport and network layers
Innovation is back in the transport and network layers
 
Future Internet protocols
Future Internet protocolsFuture Internet protocols
Future Internet protocols
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
 
New Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceNew Generation Oracle RAC Performance
New Generation Oracle RAC Performance
 
User Datagram Protocol
User Datagram ProtocolUser Datagram Protocol
User Datagram Protocol
 
.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7.NET Conf 2022 - Networking in .NET 7
.NET Conf 2022 - Networking in .NET 7
 
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environmentPLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
PLNOG 13: Bart Salaets: Optimising TCP in today’s changing network environment
 
Network protocols and vulnerabilities
Network protocols and vulnerabilitiesNetwork protocols and vulnerabilities
Network protocols and vulnerabilities
 
Ntc 362 effective communication uopstudy.com
Ntc 362 effective communication   uopstudy.comNtc 362 effective communication   uopstudy.com
Ntc 362 effective communication uopstudy.com
 
Ntc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.comNtc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.com
 
Dccp evaluation for sip signaling ict4 m
Dccp evaluation for sip signaling   ict4 m Dccp evaluation for sip signaling   ict4 m
Dccp evaluation for sip signaling ict4 m
 
It nv51 instructor_ppt_ch9
It nv51 instructor_ppt_ch9It nv51 instructor_ppt_ch9
It nv51 instructor_ppt_ch9
 
TCP/IP(networking)
TCP/IP(networking)TCP/IP(networking)
TCP/IP(networking)
 
Java socket programming
Java socket programmingJava socket programming
Java socket programming
 
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
 

Último

Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 

Último (17)

Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 

Google QUIC

  • 1. QUIC Quick UDP Internet Connections Aluno: Felipe Rayel Professores: Christian Esteve Rothenbeg, Maurício Ferreira Magalhães IA368- Tópicos em Engenharia de Computação V Faculdade de Engenharia Elétrica e de Computação UNICAMP Nov/2013
  • 4. OVERVIEW • • • • • Google SPDY (2009) Over TCP Multiplexing (requests not waiting for previous GETs to complete) Server Push Header compression
  • 5. MOTIVATIONS • SPDY over TCP has problem • On TCP: 1 packet delay/loss affect all streams • Next HTTP Request need wait • 3-way-handshake • TCP=1.5 RTT / SSL = 3 RTT • Single congestion window • One window for all streams
  • 6. GOALS • QUIC (2013) = Build reliable layer on UDP • Widespread deployability in today’s internet • Middlebox = tipically block anything other than TCP or UDP • Modification over TCP = Need kernel changes • TCP Extension = Over 10 years or more • Packet loss dosen’t effects all streams • One stream for each request. Packets sent out of order • Less RTT • Ack dont needed. No handshake. 0RTT • Separate congestion window • One window for each stream.
  • 7. GOALS • SSL layer • Packet level error correction • Reduced latency achieved by using error correction, rather than retransmission. • Improved support for mobile • Mobile Clients = tendency to turn off a radio communications • TCP connections = closed during radio shutdowns + latency costs for session continuations • Reduced bandwidth consumption • Reduced packetcount
  • 8. SPECIFICATION • Connection : • • • • QUIC framing layer runs atop UDP Session Initiated by client Bidirectional exchange of packets identified by a GUID When a server decides to terminate an idle session, it should not notify the client to avoid waking up the radio on mobile devices.
  • 9. SPECIFICATION • GUID (Globally Unique Identifier): • 64 bit pseudo random number selected by the client • Is the key to the connection. • QUIC sessions are designed to remain established even if the client roams • The IP 4tuple (source IP, source port, destination IP, destination port) may be insufficient to identify the connection
  • 10. SPECIFICATION • Framing: • data packets (contain stream payload data, ACK data, and control data) • ACK Frame = Used to coordinate packet loss recovery • Not identical to an ACK packet in TCP • ACK in QUIC is always cumulative • FEC packets (contain parity data which allows dropped packets to be recovered.)
  • 11. SPECIFICATION • Packet Header • • • • • • • • • • • • • • • 0 1 2 3 4 5 6 7 8 +--------+--------+--------+--------+--------+--------+--------+--------+--------+ | Public | GUID (0, 8, 32, or 64) | -> |Flags(8)| (variable length) | +--------+--------+--------+--------+--------+--------+--------+--------+--------+ 9 10 11 12 13 14 15 +--------+--------+--------+--------+--------+--------+--------+ | Quic Version (32) | (cont) -> | (optional) | +--------+--------+--------+--------+--------+--------+--------+ 16 17 18 19 20 +--------+--------+--------+--------+--------+ Sequence (8,16,32,or 48) |Private | FEC (8)| Number (variable length) |Flags(8)| (opt) | +--------+--------+--------+--------+--------+
  • 12. SPECIFICATION • Data Packet • • • +--------+.........+--------+.........+ | Type | Payload | Type | Payload | +--------+.........+--------+.........+ • After a header in a packet, there is always a payload block of ciphertext authenticated by an AEAD (Authenticated Encryption with Associated Data ) algorithm.
  • 13. SPECIFICATION • FEC (Forward Error Correction) Packet • 16 • • • +............+ | Redundancy | +............+ • QUIC can send periodic FEC packets which contain redundant data. • Can allow lost packets to be recovered without needing to be retransmitted. • TCP requires the client to wait for a retry timeout to expire. • FEC packets (FLAG_FEC set) have a payload that simply contains an XOR of the nullpadded payload of each Data Packet in the FEC group.
  • 14. SPECIFICATION • Streams • Are independent sequences of bidirectional data; • Can be created either by the client or the server; • To avoid collisions when creating new streams: • Initialized by the client start with an odd number; • Initialized by the server with an even number; • In either case, the numbers must always increase. • Priority • A stream may be dependent on another stream. • Parent streams have an explicit priority over child streams.
  • 15. DEPLOYMENT • Planned: UDP port 80 or UDP port 443 • In both cases, will be encrypting the traffic (to avoid accidental damage by middle boxes) • Wide deployment as being plausible within 1-2 years • To specify QUIC as an alternate protocol available on port 123, use: • Alternate-Protocol: 123:quic • When a client receives a AlternateProtocol header advertising QUIC, it should attempt to use QUIC for future secure connections on that domain.
  • 16. ADOPTION • Client • Has been part of version 29 (released on August 20, 2013) of Chrome.
  • 17. ADOPTION • Server • Google published a prototype • https://code.google.com/p/chromium
  • 18. CONCLUSIONS • Latency Reduction • SPDY is good, QUIC is better • Fast adoption • In 2012, SPDY supported in Chrome, Firefox, and Opera, • Many large web destinations (e.g., Google, Twitter, Facebook) were offering SPDY to compatible clients. • Patent • SPDY is not patented • FAST TCP is Patented, nobody uses • HTTP 2.0 • HTTP Working Group (HTTP-WG) kicked off the new HTTP 2.0 effort in early 2012 to take the lessons learned from SPDY and apply them to the official standard. • Lost FEC Packet • What Happens?