SlideShare une entreprise Scribd logo
1  sur  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?

Contenu connexe

Tendances

Introduction for internet connectivity (IoT)
 Introduction for internet connectivity (IoT) Introduction for internet connectivity (IoT)
Introduction for internet connectivity (IoT)FabMinds
 
Ch 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architectureCh 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architectureYoram Orzach
 
Arista: DevOps for Network Engineers
Arista: DevOps for Network EngineersArista: DevOps for Network Engineers
Arista: DevOps for Network EngineersPhilip DiLeo
 
Application Layer and Socket Programming
Application Layer and Socket ProgrammingApplication Layer and Socket Programming
Application Layer and Socket Programmingelliando dias
 
IPSec VPN & IPSec Protocols
IPSec VPN & IPSec ProtocolsIPSec VPN & IPSec Protocols
IPSec VPN & IPSec Protocols NetProtocol Xpert
 
Cisco Application Centric Infrastructure
Cisco Application Centric InfrastructureCisco Application Centric Infrastructure
Cisco Application Centric Infrastructureislam Salah
 
The constrained application protocol (CoAP)
The constrained application protocol (CoAP)The constrained application protocol (CoAP)
The constrained application protocol (CoAP)Hamdamboy (함담보이)
 
MQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsMQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsUniversity of Pretoria
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlowJoel W. King
 
OpeVPN on Mikrotik
OpeVPN on MikrotikOpeVPN on Mikrotik
OpeVPN on MikrotikGLC Networks
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDNVenkata Naga Ravi
 
ASA Multiple Context Training
ASA Multiple Context TrainingASA Multiple Context Training
ASA Multiple Context TrainingTariq Bader
 
Introduction to Segment Routing
Introduction to Segment RoutingIntroduction to Segment Routing
Introduction to Segment RoutingMyNOG
 
The constrained application protocol (coap) part 2
The constrained application protocol (coap)  part 2The constrained application protocol (coap)  part 2
The constrained application protocol (coap) part 2Hamdamboy (함담보이)
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocolMuuluu
 
OpenID Connect: An Overview
OpenID Connect: An OverviewOpenID Connect: An Overview
OpenID Connect: An OverviewPat Patterson
 
SD-WAN PROTOCOLS
SD-WAN PROTOCOLSSD-WAN PROTOCOLS
SD-WAN PROTOCOLSbilal anjum
 

Tendances (20)

Introduction for internet connectivity (IoT)
 Introduction for internet connectivity (IoT) Introduction for internet connectivity (IoT)
Introduction for internet connectivity (IoT)
 
Ch 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architectureCh 02 --- sdn and openflow architecture
Ch 02 --- sdn and openflow architecture
 
Arista: DevOps for Network Engineers
Arista: DevOps for Network EngineersArista: DevOps for Network Engineers
Arista: DevOps for Network Engineers
 
Application Layer and Socket Programming
Application Layer and Socket ProgrammingApplication Layer and Socket Programming
Application Layer and Socket Programming
 
IPSec VPN & IPSec Protocols
IPSec VPN & IPSec ProtocolsIPSec VPN & IPSec Protocols
IPSec VPN & IPSec Protocols
 
Cisco Application Centric Infrastructure
Cisco Application Centric InfrastructureCisco Application Centric Infrastructure
Cisco Application Centric Infrastructure
 
The constrained application protocol (CoAP)
The constrained application protocol (CoAP)The constrained application protocol (CoAP)
The constrained application protocol (CoAP)
 
MQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsMQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of Things
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
IPsec vpn
IPsec vpnIPsec vpn
IPsec vpn
 
OpeVPN on Mikrotik
OpeVPN on MikrotikOpeVPN on Mikrotik
OpeVPN on Mikrotik
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDN
 
ASA Multiple Context Training
ASA Multiple Context TrainingASA Multiple Context Training
ASA Multiple Context Training
 
Introduction to Segment Routing
Introduction to Segment RoutingIntroduction to Segment Routing
Introduction to Segment Routing
 
Suricata
SuricataSuricata
Suricata
 
The constrained application protocol (coap) part 2
The constrained application protocol (coap)  part 2The constrained application protocol (coap)  part 2
The constrained application protocol (coap) part 2
 
Sdn ppt
Sdn pptSdn ppt
Sdn ppt
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
OpenID Connect: An Overview
OpenID Connect: An OverviewOpenID Connect: An Overview
OpenID Connect: An Overview
 
SD-WAN PROTOCOLS
SD-WAN PROTOCOLSSD-WAN PROTOCOLS
SD-WAN PROTOCOLS
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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)
 

Dernier

Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
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
 
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
 
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
 

Dernier (20)

Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
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
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
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
 
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
 
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
 
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
 
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
 

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?