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的特点就是:快速可靠。
原文地址:https://blog.csdn.net/sun007700/article/details/142531760
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!