HTTPS协议详解(五):HTTPS性能与优化

本文大部分内容摘自:http://www.wosign.com/faq/faq2016-0309-05.htm 尊重知识产权,转载注明Wosign
----------------------------------专栏导航----------------------------------
HTTPS协议详解(一):HTTPS基础知识 
HTTPS协议详解(二):TLS/SSL工作原理
HTTPS协议详解(三):PKI 体系
HTTPS协议详解(四):TLS/SSL握手过程
HTTPS协议详解(五):HTTPS性能与优化

1、HTTPS性能损耗

前文讨论了HTTPS原理与优势:身份验证、信息加密与完整性校验等,且未对TCP和HTTP协议做任何修改。但通过增加新协议以实现更安全的通信必然需要付出代价,HTTPS协议的性能损耗主要体现如下:
(1).增加延时
    分析前面的握手过程,一次完整的握手至少需要两端依次来回两次通信,至少增加延时2* RTT,利用会话缓存从而复用连接,延时也至少1* RTT*。
(2).消耗较多的CPU资源
除数据传输之外,HTTPS通信主要包括对对称加解密、非对称加解密(服务器主要采用私钥解密数据);压测 TS8 机型的单核 CPU:对称加密算法AES-CBC-256 吞吐量 600Mbps,非对称 RSA 私钥解密200次/s。不考虑其它软件层面的开销,10G 网卡为对称加密需要消耗 CPU 约17核,24核CPU最多接入 HTTPS 连接 4800;
静态节点当前10G 网卡的 TS8 机型的 HTTP 单机接入能力约为10w/s,如果将所有的HTTP连接变为HTTPS连接,则明显RSA的解密最先成为瓶颈。因此,RSA的解密能力是当前困扰HTTPS接入的主要难题。

2、HTTPS接入优化

(1).CDN接入
    HTTPS 增加的延时主要是传输延时 RTT,RTT 的特点是节点越近延时越小,CDN 天然离用户最近,因此选择使用 CDN 作为 HTTPS 接入的入口,将能够极大减少接入延时。CDN 节点通过和业务服务器维持长连接、会话复用和链路质量优化等可控方法,极大减少 HTTPS 带来的延时。
(2).会话缓存
    虽然前文提到 HTTPS 即使采用会话缓存也要至少1*RTT的延时,但是至少延时已经减少为原来的一半,明显的延时优化;同时,基于会话缓存建立的 HTTPS 连接不需要服务器使用RSA私钥解密获取 Pre-master 信息,可以省去CPU 的消耗。如果业务访问连接集中,缓存命中率高,则HTTPS的接入能力讲明显提升。当前TRP平台的缓存命中率高峰时期大于30%,10k/s的接入资源实际可以承载13k/的接入,收效非常可观。
(3).硬件加速
    为接入服务器安装专用的SSL硬件加速卡,作用类似 GPU,释放 CPU,能够具有更高的 HTTPS 接入能力且不影响业务程序的。测试某硬件加速卡单卡可以提供35k的解密能力,相当于175核 CPU,至少相当于7台24核的服务器,考虑到接入服务器其它程序的开销,一张硬件卡可以实现接近10台服务器的接入能力。
(4).远程解密
    本地接入消耗过多的 CPU 资源,浪费了网卡和硬盘等资源,考虑将最消耗 CPU 资源的RSA解密计算任务转移到其它服务器,如此则可以充分发挥服务器的接入能力,充分利用带宽与网卡资源。远程解密服务器可以选择 CPU 负载较低的机器充当,实现机器资源复用,也可以是专门优化的高计算性能的服务器。当前也是 CDN 用于大规模HTTPS接入的解决方案之一。
(5).SPDY/HTTP2
    前面的方法分别从减少传输延时和单机负载的方法提高 HTTPS 接入性能,但是方法都基于不改变 HTTP 协议的基础上提出的优化方法,SPDY/HTTP2 利用 TLS/SSL 带来的优势,通过修改协议的方法来提升 HTTPS 的性能,提高下载速度等。

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: TCP/IP协议指传输控制协议/因特网协议,是互联网的核心协议之一。这种协议提供了一个网络协议栈,用于传输数据包并确保它们完整地在计算机网络中传输。TCP/IP协议包括了四个层次:应用层、传输层、网络层以及数据链路层。TCP/IP是用于连接到因特网的主要网络协议之一,是因特网的核心协议,它可以很好地支持各种不同的网络应用程序。 TCP/IP协议详解是一份涵盖TCP/IP所有内容的PDF文档,包括TCP/IP协议的工作原理、原理和基本知识,提供了完整的TCP/IP协议的技术细节。文档从网络通信开发的基础知识开始,逐步介绍了TCP/IP协议的基础, 包括:物理层、数据链路层、网络层、传输层和应用层,同时也对各种协议和技术如ARP、IP、TCP、UDP、DNS、HTTP、FTP等进行了具体的解释,使读者能够更好地理解TCP/IP协议的技术内容。 总的来说,TCP/IP协议详解是一份非常有用的技术文档,它为开发人员、系统管理员以及网络工程师提供了完善的TCP/IP知识和基础,是网络通信开发不可缺少的参考文档,在今天互联网极为发达的背景下,值得深入学习和掌握。 ### 回答2: TCP/IP协议是计算机网络中常用的协议,它把数据分为若干个分组在网络中传输。对于网络系统的规划、安装、实施、使用和管理,了解TCP/IP协议是十分必要的。TCP/IP协议详解是一本对于TCP/IP协议的解释和深入说明的著作,对于网络从业人员、计算机科学学生,以及计算机爱好者来说都是一本非常好的参考书。 这本书包括了TCP/IP协议的基本概念、网络层、传输层以及应用层等方面的内容,其中涵盖了TCP协议和IP协议的历史、原理、实现和应用。阅读这本书,读者能深入理解网络各层级的协议服务以及它们之间的关系。 此外,本书还介绍了TCP/IP协议在局域网、广域网、因特网和移动网络之间的应用,包括主机地址、路由器、网关等基础设施的配置和管理. 如果您想以更深入的角度了解TCP/IP协议,这本书是不二之选。而且该PDF文件的下载也很容易,只需要在互联网上搜索即可找到,下载后可以离线阅读,方便学习和查阅。 ### 回答3: TCP/IP是Internet的基础协议,而TCP/IP协议详解则是系统地介绍了TCP/IP协议,对于理解和掌握TCP/IP协议体系结构、各个协议的功能、通信流程以及实现方法等相关知识是非常必要的。 TCP/IP协议详解这本书从简单到复杂,从底层实现到应用层的协议,详尽地介绍了各种协议的功能、特点和使用方法,并提供了大量的实例和应用场景,以便读者可以很好地理解协议的整体结构和各个模块之间的关系。 本书介绍了TCP/IP协议协议栈(TCP/IP协议族中标准的网络层和传输层协议)和其他重要的应用层协议,如DNS、SMTP、HTTP等。并通过分析各种协议的特点、功能、应用场景等来帮助读者更好地理解协议的使用方法和实现原理。 此外,本书还介绍了TCP/IP协议的演变历程、一些常见网络问题及其排除方法、网络性能优化等方面的内容,使得读者准确理解TCP/IP协议,并且能够灵活地使用它们,从而帮助读者更好地了解和应用网络。 总之,TCP/IP协议详解这本书是一本非常权威、全面、详尽的TCP/IP教材,对于网络管理员和网络从业人员来说,是一本不可多得的优秀参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值