关于HTTP3的一篇文章

1.Background

  • Google is in control of future web protocol development, from SPDY that was eventually standardized as HTTP/2 to QUIC being standardized as HTTP/3.
  • HTTP/2 cannot be seen sniffing with tcpdump because it’s encrypted with SSL. All the implementations of HTTP/2 actually use it over SSL, although the standard allows HTTP/2 run over TCP.

2.headline features

  • QUIC doesn’t change HTTT/2 as much as change how the transport works.
    Just focus on transport issues.

A. Latency

  • QUIC reduces round-trips to set up connections more quickly while TCP sets up connection slowly when there is a lot of network delay.

B. Bandwidth

  • Congestion will cause bandwidth limitation between source and destination. Bandwidth estimation means sending packets at a proper rate.
  • HTTP/1 cannot estimate bandwidth when browsers open multi connections to web servers simultaneously because each tcp connection tries to work independently as if others don’t exist.
  • HTTP/2 uses multiplexing features that can calculate one bandwidth limitation for multi interactions between browser/server. However, one interaction may block another.
  • HTTP/3 extend multiplexing without any interaction blocking another.

3.Other features

A. User-mode stack performance issues

  • One of TCP problems is performance issues caused by interaction between kernel and user mode. One of possible practical solutions is moving from Tcp to UDP that can achieve the same performance without user-mode driver.
  • The key principle is recvmmsg() can receive a bunch of UDP packets at one time while the well-known function recv() can deal with one packet at once.
  • BTW, RSS is the feature of network hardware that splits income packets into multi receive queues. QUIC take the advantages to let each core manage its own packets queue without the sharing problems.

B. Mobile support

  • QUIC identify a connection with 64-bit ID instead of ip/port sets. So you can continue a video phone call when device ip changes

4.Influences for us

  • We will use a higher level network programming API instead of the well-known transport layer API socket.That means programming to application layer(7) instead of transport layer(4) API.
  • Google has driven us to application service elements that will handle communication(file/messages) in a standard way among different applications.

原文:https://blog.erratasec.com/2018/11/some-notes-about-http3.html#.W_juF5MzbOR

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值