当前位置: 首页 > article >正文

TTPoE的设计,quic协议,KCP传输协议,快速可靠的UDP

https://zhuanlan.zhihu.com/p/717287042

TTPoE的设计理念主要包括协议简化、硬件层面的执行、以及针对硬件执行的优化。

TTPoE的设计首先强调了协议的简化,通过减少不必要的等待时间和数据传输步骤来提高效率。与传统的TCP协议相比,TTPoE采用了两次握手来建立连接,而不是TCP的三次握手机制,从而显著降低了建立连接的时间。此外,在关闭连接时,TTPoE也简化了过程,仅需发送一个关闭操作码并接收一个确认即可完成,避免了TCP中多次确认和TIME_WAIT状态的存在‌1。

TTPoE还在硬件层面执行,这意味着它的设计和实现主要利用了硬件资源,而不是依赖于软件。这种设计使得TTPoE能够在硬件层面实现更快的处理速度,并且对上层软件透明,上层软件无需显式地管理连接,只需指定数据的目的地址,硬件就会自动完成数据的传输。这种设计不仅提高了数据传输的效率,还降低了软件的复杂性‌1。

针对硬件执行的优化也是TTPoE设计的一个重要方面。TTPoE的传输层状态机针对硬件执行进行了优化,例如,将原本2ms的静默时间缩短,以适应微秒级的协议需求,并避免了对虚拟内存的依赖,仅使用物理内存。这种优化使得TTPoE能够在硬件层面上更快地处理数据传输,进一步提高了性能‌2。

总的来说,TTPoE的设计理念是通过简化协议、硬件层面的执行以及针对硬件执行的优化,来实现高速、低延迟的数据传输,从而满足AI超级计算机等高性能计算环境的需求‌12。

特斯拉宣布开源TTPoE协议,高速且低延迟,比TCP快n倍!|ip|交换机|缓冲区|tcp|数据包|特斯拉(公司)|开源ttpoe协议_网易订阅

特斯拉宣布开源TTPoE协议,高速且低延迟,比TCP快n倍!

、拥塞控制

传统的TCP协议使用一种动态的拥塞控制机制,根据网络状况调整拥塞窗口的大小,以适应不同的网络条件。然而,这种机制在面对高质量、低延迟的内部网络时显得过于复杂和冗余。为此,TTPoE采用了一种固定的拥塞窗口机制,即通过硬件在SRAM缓冲区中记录已发送的数据,缓冲区的大小直接决定了拥塞窗口的大小。

当缓冲区满时,TTPoE会暂停发送新的数据包,直到收到对方的确认并释放缓冲区中的空间。这种机制简单且高效,特别适用于Tesla的低延迟、高带宽的内部网络环境。此外,TTPoE仍然保留了TCP协议中通过丢包来控制拥塞的思路,但由于其固定窗口的设计,TTPoE不需要像TCP那样频繁地调整窗口大小,从而减少了计算和管理的复杂性。

一句话总结:TTPoE完全在硬件中实现,其状态机相比TCP协议大大简化,从而提供更低的延迟。TCP协议在关闭连接时需要经历多个步骤,如发送FIN、等待确认、再确认等,最后进入TIME_WAIT状态。而TTPoE通过删除TIME_WAIT状态,并将关闭连接的过程从三个步骤简化为两个步骤,大幅减少了延迟。这种简化还包括在建立连接时,将TCP的三次握手(SYN、SYN-ACK、ACK)简化为两次握手。

一文读懂QUIC 协议:更快、更稳、更高效的网络通信-CSDN博客

1.2 HTTP/3协议  
HTTP/3是第三个主要版本的HTTP协议。与其前任HTTP/1.1和HTTP/2不同,在HTTP/3中,弃用TCP协议,改为使用基于UDP协议的QUIC协议实现。所以,HTTP/3的核心在于QUIC协议。显然,HTTP/3属于应用层协议,而它使用的QUIC协议属于传输层协议。

1.3 我们需要HTTP/3协议吗  
————————

二:QUIC协议的优秀特性  
2.1 建连快  
数据的发送和接收,要想保证安全和可靠,一定是需要连接的。TCP需要,QUIC也同样需要。连接到底是什么?连接是一个通道,是在一个客户端和一个服务端之间的唯一一条可信的通道,主要是为了安全考虑,建立了连接,也就是建立了可信通道,服务器对这个客户端“很放心”,对于服务器来说:你想跟我进行通信,得先让我认识一下你,我得先确认一下你是好人,是有资格跟我通信的。那么这个确认对方身份的过程,就是建立连接的过程。

传统基于TCP的HTTPS的建连过程为什么如此慢?它需要TCP和TLS两个建连过程。如图1所示(传统HTTPS请求流程图):    
 

KCP传输协议,快速可靠的UDP,和

https://zhuanlan.zhihu.com/p/454498334

KCP的设计目标是为了解决在网络拥堵的情况下TCP传输速度慢的问题。

KCP是一个 快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据的发送方式,以 callback的方式提供给 KCP。连时钟都需要外部传递进来,内部不会有任何一次系统调用。
TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的是充分利用带宽。而 KCP是为流速设计的(单个数据从一端发送到一端需要多少时间),以10%-20%带宽浪费的代价换取了比 TCP快30%-40%的传输速度。

KCP没有规定下层传输协议,它只是一个纯算法的实现,但通常使用UDP作为底层协议。所以一般来说可以说KCP是快速可靠的UDP。

我们都知道,TCP是可靠的传输协议。那么KCP的特点就是:快速可靠。


http://www.kler.cn/a/324763.html

相关文章:

  • 【Pikachu】XML外部实体注入实战
  • 【日常记录-Git】git log
  • 数据结构-哈夫曼树
  • 对接阿里云实人认证
  • [Linux]多线程详解
  • Opengl光照测试
  • 另外知识与网络总结
  • AndroidManifest.xml 文件中的 package 属性不再是强制要求定义
  • 使用6条命令完成Windows和H3C VSR的IPsec对接
  • 我想自己做一个漫画网站,我需要多大的服务器
  • cocos资源分包
  • CSS 的pointer-events属性,控制元素如何响应用户指针事件
  • 怎么给邮件加密?对邮件加密的五个绝佳方法,亲测有效!保教包会哦!
  • JIT- 栈上替换(On-Stack Replacement, OSR)
  • c++入门 类和对象(中)
  • ELK-05-skywalking监控SpringCloud服务日志
  • Java 图片合成
  • 【CKA】二、节点管理-设置节点不可用
  • UDP与TCP那个传输更快
  • 【高阶数据结构】平衡二叉树(AVL)的插入(4种旋转方法+精美图解+完整代码)
  • 深度解析:Debian 与 Ubuntu 常用命令的区别与联系
  • Electron 安装以及搭建一个工程
  • GGHead:基于3D高斯的快速可泛化3D数字人生成技术
  • TCN预测 | MATLAB实现TCN时间卷积神经网络多输入单输出回归预测
  • WPF入门教学十三 MVVM模式简介
  • 极狐GitLab 17.4 重点功能解读【二】