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

相关推荐
几何心凉几秒前
实践篇:青果IP助理跨境电商的高效采集
网络·网络协议·tcp/ip
群联云防护小杜1 小时前
为什么DDoS防御很贵?
网络·网络协议·web安全·ddos
Dearrrrrrrr1 小时前
H3C OSPF 多区域实验
网络·计算机网络·智能路由器
fpcc1 小时前
c++应用网络编程之十五Nagle算法
网络·c++
网络安全King2 小时前
[网络安全系列面试题] GET 和 POST 的区别在哪里?
网络·安全·web安全
KeyBordkiller2 小时前
PVE相关名词通俗表述方式———多处细节实验(方便理解)
linux·服务器·网络
网络安全Ash2 小时前
企业网络安全之OPENVPN
开发语言·网络·php
Deca~2 小时前
《网络是怎样连接的》整体的总结
网络
scoone2 小时前
解决Ubuntu 22.04系统中网络Ping问题的方法
linux·网络
我是唐青枫3 小时前
Linux firewalld 命令详解
linux·运维·网络