QUIC Design Documentand Specification Rationale(二)(即时翻译,有多处错误)

注:请转载后注明出处


SPDY SUPPORT MOTIVATIONS

SPDY is a multiplexed stream protocol currently implemented over TCP (routinely

employing SSL).  Among other things, it can reduce latency by sending all requests as

soon as possible (not waiting for previous GETs to complete), and can reduce bandwidth

utilization by compressing out some redundant traffic.  Despite its features and successes,

it has encountered several problems in its quest to be efficient in its use of resources while

providing a latency reduction.

SPDY是一个多路复用的流协议,该协议基于TCP协议实现(惯例使用SSL),除此之外,他功过尽可能快地发送所有的请求(并不是等待上一个GETs完成),并且通过压缩一些冗余的流量,降低带宽利用率,尽管不考虑他的特性和成功,在目标要达到更高效地使用资源上同时提供一个低延时处理上,该协议确实遇到了一些问题】

 

a) Single packet delay induces head­-of-­line blocking for a stream.  Since TCP only

provides a single serialized stream interface, a delay of only one packet causes the entire

set of SPDY streams to pause.  A packet is routinely delayed when a packet is lost, such

as due to congestion, and it must be retransmitted.  A better multiplexed transport should

delay only one stream when a single packet is lost.

a)单个数据包的时延引起了一条流的头部数据被阻塞,由于TCP禁提供单个序列化的流接口,只要一个数据包的延时就导致整个SPDY流的暂停。当一个数据包丢失后,这个数据包必定会有延时,原因可能有协商引起,并且该数据包必须被重传,当有一个报丢失时,一个好的多路复用传输方法应该仅引起一条流的阻塞】

 

b) Unfavorable congestion avoidance handling by TCP, leading to additional bandwidth

reduction and serialization latency overhead:  A single SPDY connection is routinely used

to replace K separate (non­multiplexed) connections.  When a single packet of a SPDY

(over TCP) connection is lost, the congestion window for the entire connection was

historically reduced by 50%, courtesy of TCP [TCP CUBIC default congestion window

reduction is roughly 30%, but the factor of 2 simplifies the math in this paragraph’s

exposition].  In contrast, a single packet loss among K non­multiplexed TCP connections

only reduces the congestion window in one TCP connection.  With only one of K streams

impacted by a loss, the aggregate congestion window is reduced by roughly 1/2K of the

pre­loss aggregate.  With K commonly having a value of 6 (for multiple HTTP GET

requests), a single packet loss causes bandwidth reduction to 11/12 of the pre­loss

bandwidth (pre­loss congestion window size).  As a result, TCP congestion avoidance

favors sharded (multiple) TCP connections over a multiplexed TCP connection

b)由TCP控制的不顺利的壅塞避免算法引起了额外的带宽下降,和过度的序列化延时:单个SPDY链接用于替代K个单独(非多路复用)的链接。当SPDY(承载于上)链接上单个数据包丢失了,那么整个链接的拥塞窗口按历史经验应该降低50%,殷勤的TCP[TCP 三次壅塞窗口大概见底30%,但是两个简化的算数的印子在这个段落中的解释],相反,在K个非多路复用的TCP链接中单个包的丢失仅仅会降低一个tcp链接的壅塞窗口。K个码流中的一个被标记为丢失,聚合的壅塞控制窗口仅仅被降低了1/2k的预丢包数,一般默认的K值是6(对于多撸HTTP GET请求),一个包的丢失引起带宽降低到11/12(与丢失拥塞窗口的大小),因此,TCP的壅塞避免喜欢多路TCP链接更胜于多路复用的tcp链接】

 

c) TLS (SSL) session resumption delays. A TLS handshake takes at least one additional

RTT before data can be passed successfully. This delay is a function of the implementation

of TLS, and not due to functional requirements of security. 

 

cTSLSSL)会话恢复时延:在数据能够传输之前,一次的TLS握手至少消耗了一个额外的RTT市场,这种延时是TLS的实现的功能之一,但这并不是由于安全上的需求的原因。

d) TLS historically induced a decryption dependency, where prior packets must be

decrypted before later packets can be decrypted.  TLS 1.1 and DTLS predominantly

resolved the in­order dependency by adding explicit initialization vectors, at a cost of

additional bytes per packet.  By combining layers in a new protocol, we may be able to

provide initialization vectors with reduced data costs, by leveraging other packetized data

(e.g., packet sequence numbers).

dTLS包括了一种解码依赖,这个一来是先到的报必须在厚道的包之前被解密,TLS1.1DTLS通过消耗一个Byte,增加显式地初始化向量,主要地解决了这种内部的数序依赖。通过整合新协议中的层次,我们可能提供已经初始化OK的、更低数据消耗的向量、参数,通过借用其他分包的数据(或者例如报序号)】


注:请转载后注明出处


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值