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的特点就是:快速可靠。

相关推荐
幽兰的天空5 小时前
介绍 HTTP 请求如何实现跨域
网络·网络协议·http
lisenustc5 小时前
HTTP post请求工具类
网络·网络协议·http
心平气和️5 小时前
HTTP 配置与应用(不同网段)
网络·网络协议·计算机网络·http
心平气和️5 小时前
HTTP 配置与应用(局域网)
网络·计算机网络·http·智能路由器
Gworg6 小时前
网站HTTP改成HTTPS
网络协议·http·https
Mbblovey6 小时前
Picsart美易照片编辑器和视频编辑器
网络·windows·软件构建·需求分析·软件需求
北顾南栀倾寒7 小时前
[Qt]系统相关-网络编程-TCP、UDP、HTTP协议
开发语言·网络·c++·qt·tcp/ip·http·udp
GZ_TOGOGO7 小时前
PIM原理与配置
网络·华为·智能路由器
7ACE7 小时前
Wireshark TS | 虚假的 TCP Spurious Retransmission
网络·网络协议·tcp/ip·wireshark·tcpdump
大丈夫立于天地间8 小时前
ISIS基础知识
网络·网络协议·学习·智能路由器·信息与通信