目录

一、为什么需要TCP加速

二、TCP加速方法简介

1、修改TCP参数

2、新的高效的拥塞控制算法

3、多路径网络传输协议

4、网络编码

5、数据压缩与TCP透明加速代理

6、卸载协议处理任务


一、为什么需要TCP加速

首先需要知道为什么要对TCP进行加速?

1、在TCP握手阶段TCP连接两端会协商出滑动窗口的大小(window字段,16bit),发送端滑动窗口的大小由接收端的处理性能决定。TCP使用滑动窗口进行流控,但该机制的决定因素在接收端,并没有考虑当前的网络状况。所以很容易出现高速链路到低速链路引发拥塞的现象:如下图所示,发送方经R1、R2两个路由器发送数据,路由器R1与R2之间存在低速链路,其余链路为高速链路。可以看出 R1 路由器成为瓶颈节点,R1左侧快速的接收数据,但其右侧缓慢的发送出去,造成网络拥塞现象。R1->R2链路成为木桶原理中的短板,限制了整体的传输性能。

将网络状况引入流控后,TCP中提出了拥塞控制机制以约束发送端的发送速率。目前的拥塞控制算法有很多:RENO、CUBIC和BBR等,但还是无法应对复杂的网络状况变化,可阅读大神的一片知乎文档:漫谈TCP加速的笑话 - 知乎

2、高速网络环境下(千兆、万兆带宽),计算机快速接收网络数据,内核需要高频率的执行中断、数据拷贝、数据校验和协议处理操作,对CPU性能需求很大(根据Thumb定律, CPU 每处理 1 bit 网络数据,就将消耗 1 赫兹的处理性能),一定程度上限制了TCP的传输性能。目前的一些优化方法是将TCP的协议处理任务卸载到硬件上执行,释放CPU资源。

二、TCP加速方法简介

下面将介绍集中TCP加速方法,是对几篇论文的方法总结,没有详细的去介绍,只是作为科普性的知识点。在介绍每一种方法的时候,我会将论文出处贴在段末,如果您感兴趣可以去找相关论文看看。

1、修改TCP参数

如扩大 TCP Window 至 32 bit ,增大发送端的滑动窗口大小极限以提高吞吐量。但缺点显而易见,会使得网络拥塞现象更严重。

2、新的高效的拥塞控制算法

尽可能提高发送端的有效发送效率(不造成网络阻塞的情况下最大化发送速率)。具体可以看各类拥塞控制算法(CUBIC、BBR等)和论文《高速网络TCP加速关键技术研究》

3、多路径网络传输协议

研发或在原有协议基础上拓展新的多路径网络传输协议。这种方案是提高多宿主机的带宽利用率,如MPTCP传输协议。传统TCP/IP协议架构中,端到端通讯过程中只能使用单路 TCP连接,浪费了多个网络接口的带宽资源。MPTCP传输协议基于TCP进行拓展,一个MPTCP连接下可以存在多个TCP子流并行传输数据,可以有效提高带宽利用率,实现高吞吐量、高稳定性等目的。Home — MPTCPhttp://blog.multipath-tcp.org/blog/html/index.html

4、网络编码

传统网络结构中,中间件不会对数据进行任何处理操作。网络编码的思想是网络中间件对接收的数据包进行线性和非线性的数据编码处理,在转发给下游节点后还原出原始数据包。通过对TCP协议的改进,实现在高丢包率应用场景下传输性能的提升。具体看论文《基于网络编码TCP协议的网络加速系统的设计与实现》

5、数据压缩与TCP透明加速代理

把一个端到端的 TCP 连接,利用多个 TCP 中继代理服务器进行转发,分为多个 TCP连接,这样就把一个长肥管道分成了多个短时延的连接。同时在发送端对数据进行压缩,在接收端对数据进行解压,减少网络中的数据传输量。具体查看论文《云服务下的 TCP 加速技术的研究与实现》​​​​​​​

TCP透明加速代理还有多种不同的加速机制,如:ACK平滑、TCP欺骗、本地重传、数据对比、处理阶段性连接丢失。论文《卫星通信网中 TCP 加速技术研究》3.3.1有简单介绍。

6、卸载协议处理任务

将协议处理任务从内核卸载到专门的网络硬件上,如TOE技术。论文《面向TCP加速的协议栈关键技术研究与实现》

为什么需要TCP加速?TCP怎么加速呢?相关推荐

  1. 漫谈TCP High Speed与TCP Africa(TCP China)

    自春节假期开启了漫谈TCP,很多想法都想往这上面靠,本周单休,早上4点起来写一篇春节假期没来得及写完的,今天这个关于HSTCP和TCP Africa的话题也归入漫谈了,实际上也真的是漫谈. 很多人看到 ...

  2. php 静态 动态 cdn 加速,CDN静态加速跟动态加速的区别,动态加速好还是静态加速好?...

    CDN做为内容分发技术,其核心原理就是将内容缓存到离用户最近的节点上,实现内容分发加速,这里内容主要分为两种,一种是静态内容,一种是动态内容.首先,对静态资源,CDN的加速效果是最好的,因为文件本身没 ...

  3. 为网络加速 LOTWARE广域网加速解决方案

    一.需求概述 A省新农合信息系统采取省市.县二级平台,以县为主,多级业务网络并存的模式.市级通过省级平台建立辖区虚拟信息管理平台.建设初期业务网络至少要覆盖到乡镇经办机构和乡镇级定点医疗机构,并随着业 ...

  4. LotWan-单边加速的广域网加速系统

    随着企业远程通信及数据共享的愈加普及,广域网数据服务也越发成为挑战,由此带来的带宽优化及其他各种网络资源的优化和管理相继出现.IT经理们也正在不断寻求在广域网(WAN)中加速应用程序性能的方法,这样无 ...

  5. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  6. 计网 - 传输层协议 TCP:TCP 为什么握手是 3 次、挥手是 4 次?

    文章目录 Pre TCP 协议 主机到主机(Host-To-Host) 什么是连接和会话? 双工/单工问题 什么是可靠性? TCP 的握手和挥手 TCP 协议的基本操作 建立连接的过程(3次握手) 断 ...

  7. PHP快还是HTML快,PHP_HTML-加速、再加速,web开发人员是否必须掌握复杂 - phpStudy...

    HTML-加速.再加速 web开发人员是否必须掌握复杂的组件技术才能加快html页面的访问速度?答案是:不一定!实际上,有许多关于HTML与DHTML方面的技巧,它们原理简单而且上手容易.无论是技术高 ...

  8. 网站加速和服务器加速区别,cdn加速与不加速区别

    cdn加速与不加速区别是什么?使用cdn加速与不使用cdn加速的网站,在访问速度.数据安全.SEO优化和 1.网站访问速度差异 出于 使用CDN加速功能,不仅访问网站的速度提高了,跳出率减少了,也会利 ...

  9. (230)数据处理或加速方法(加速处理器)

    (230)数据处理或加速方法(加速处理器) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)数据处理或加速方法(加速处理器) 5)技术交流 6)参考资料 2 FPGA ...

  10. DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别

    "智能DNS"跟"双线加速"."CDN加速"的区别 相信,很大部分IDC用户可能还没弄清楚状况,有人觉得智能DNS跟双线加速.CDN加速是类 ...

最新文章

  1. Hinton:我终于想明白大脑怎么工作了!神经学家花三十年,寻找反向传播的生物机制...
  2. Python学习总结(一)
  3. 让网站性能最佳的34条黄金守则
  4. fvdm 跟驰模型 matlab仿真_MATLAB数值计算在光学仿真和教学中的应用
  5. 计算机音频和视频知识点,计算机基础的知识点.docx
  6. 一次性掌握计算机中常见的六类指令
  7. vim amp; emacs color Scheme
  8. 免费进销存真的好用吗?一文告诉你真相
  9. Windows常用快捷键【快查字典版】
  10. go语言调用c 的头文件 so,golang 学习(10): 使用go语言调用c语言的so动态库-Go语言中文社区...
  11. hnust Snowman
  12. 基金公司以及各大平台发布的那些亮眼的收益率数据,是你个人真实的投资收益率吗
  13. 云主机是什么,如何才能选择性价比高的云主机?
  14. c语言程序设计第二张答案,自学考试《C语言程序设计》习题及答案_第2页
  15. Linux与ISCSI
  16. iPhone iOS升级完美指南
  17. 技术大佬:我去,你竟然还不会用 this 关键字
  18. 【程序员如何买股票 三】 掌握股票交易常见术语
  19. 假设有一条绳子长3000m,每天剪去一半,请问需要几天时间,绳子的长度会短于五米?
  20. 成功解决:image “pyimage2“ doesn‘t exist【轩详细教程】

热门文章

  1. 返璞归真-删除文件默认打开方式
  2. 2023英语作文模板
  3. 交换机的全trunk模式(native vlan)
  4. 关于trunk的几个端口模式
  5. mysql版本的选择
  6. python爬虫疫情可视化
  7. 贪婪的送礼者Greedy Gift Givers [USACO 1.2]
  8. 移动端网页禁止下拉刷新css
  9. flowable工作流技术学习
  10. 热成像测温的原理是什么呢?你知道吗?