TCP/IP 40岁:不惑之年的困惑

1983 年 1 月 1 日被认为是互联网的官方生日。在此之前,各种计算机网络并没有一种标准的方式来相互通信。世界上最流行的网络协议——传输控制协议/网际协议 (TCP/IP)的出现,允许不同网络上不同类型的计算机相互“交谈”。1983 年 1 月 1 日,阿帕网和国防数据网正式改为 TCP/IP 标准,互联网由此诞生。所有网络现在都可以通过一种通用语言连接起来。

TCP/IP 协议簇是在 1970 年代由美国国防部高级研究计划署(DARPA)的两位科学家——温特·瑟夫(Vint Cerf)和鲍勃·卡恩(Bob Kahn)设计的,他们通常被称为“互联网之父”。

TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

Internet网络的前身阿帕网当时使用的并不是TCP/IP,而是一种叫网络控制协议(Network Control Protocol,NCP)的网络协议,但随着网络的发展和用户对网络的需求不断提高,设计者们发现,NCP协议存在着很多的缺点以至于不能充分支持阿帕网,特别是NCP仅能用于同构环境中。1980年,用于“异构”网络环境中的TCP/IP协议研制成功,TCP/IP协议可以在各种硬件和操作系统上实现互操作。

1983年1月1日,TCP/IP协议正式替代NCP,从此以后TCP/IP成为大部分因特网共同遵守的一种网络规则。

TCP/IP的发展历程

1973年,卡恩与瑟夫开发出了TCP/IP协议中最核心的两个协议:TCP协议和IP协议。

1974年12月,卡恩与瑟夫正式发表了TCP/IP协议并对其进行了详细的说明。同时,一次试验验证了TCP/IP协议的可用性,一个数据包由一端发出,在经过近10万km的旅程后数据包到达了服务端。在这次传输中,数据包没有丢失一个字节,这充分说明了TCP/IP协议的成功。

1983年1月1日,TCP/IP协议正式替代NCP,从此以后TCP/IP成为大部分因特网共同遵守的一种网络规则。

1984年,TCP/IP协议得到美国国防部的肯定,成为多数计算机共同遵守的一个标准。

2005年9月9日卡恩和瑟夫由于他们对于美国文化做出的卓越贡献被授予总统自由勋章。

TCP/IP协议在一定程度上参考了OSI的体系结构,简化为了四层模型,从最低到最高依次是链路层、网络层、传输层和应用层。

取代TCP?

作为TCP/IP协议的最具代表性、最核心的协议之一,TCP 多年来一直被视为网络基石,并且仍然是大多数通信的最佳协议。但当年的TCP从来就不是为性能而生的,随着网络的不断发展,TCP/IP协议的问题日益突出,不再能够满足高性能、高可靠等传输要求,一些新的网络协议开始“冲击”TCP。

QUIC协议

QUIC是一种通用、安全、多路复用的传输层新型网络协议,它的目标是取代TCP。2012年,QUIC协议由当时还在谷歌任职的Jim Roskind开发。2013年,QUIC正式对外公布。两年后,QUIC被提交给IETF进行标准化。

但是直到2021年5月,IETF才发布了第一版标准化的QUIC,被命名为RFC 9000。同时,IETF还发布使用了QUIC的HTTP/3标准化版本。HTTP/3 可以被认为是通过 QUIC 传输的 HTTP 语义,QUIC 是默认的加密传输协议,使用 UDP 进行拥塞控制。

QUIC 的两个主要目标是解决数据包级的队头阻塞并减少 HTTP 连接和流量中的延迟。使用 UDP 允许多路复用和轻量级连接建立,改善最终用户在低质量网络上的体验。

AWS SRD

AWS的SRD(Scalable Reliable Datagram,可扩展的可靠数据报文),是专为AWS数据中心网络设计的、基于Nitro芯片、为提高HPC性能实现的一种高吞吐、低延迟的网络传输协议。

SRD 的创新在于有意通过多个路径分别发包,虽然包到达后通常是乱序的,但AWS实现了在接收处以极快的速度进行重新排序,最终在充分利用网络吞吐能力的基础上,极大地降低了传输延迟。其主要功能包括:

乱序交付:取消按顺序传递消息的约束,消除了队头阻塞,AWS在EFA用户空间软件堆栈中实现了数据包重排序处理引擎

等价多路径路由(ECMP):两个EFA实例之间可能有数百条路径,通过使用大型多路径网络的一致性流哈希的属性和SRD对网络状况的快速反应能力,可以找到消息的最有效路径。数据包喷涂(Packet Spraying)可防止出现拥塞热点,并可以从网络故障中快速无感地恢复

快速的丢包响应:SRD对丢包的响应比任何高层级的协议都快得多。偶尔的丢包,特别是对于长时间运行的HPC应用程序,是正常网络操作的一部分,不是异常情况

可扩展的传输卸载:使用SRD,与其他可靠协议(如InfiniBand可靠连接IBRC)不同,一个进程可以创建并使用一个队列对与任何数量的对等方进行通信

腾讯HARP

腾讯推出的HARP是一个完全自研的数据中心高性能传输协议。在保证端到端数据报文可靠传输的同时,HARP可以为上层应用提供高可用、高可扩展、高性能的网络传输服务。

高可用:通过多路径并行传输及实时的链路检测, 微秒级切换故障链路,使得网络发生故障时上层业务完全无感知,没有明显的性能抖动。

高可扩展性:通过共享连接的设计和协议本身的优化, 使得大规模组网状况下依然维持着极低的硬件资源消耗, 轻松支持1w+节点组网下节点间通信性能无明显下跌,大大优于传统ROCE网络的组网能力。

高性能:自研拥塞控制算法,对网络能力无明显依赖的前提下, 实现各种负载时都能获得极高的传输带宽和稳定的时延(包括平均时延和长尾时延)。

很多人说,TCP已经是一个过时的老协议了,未来需要新的传输协议。

是QUIC?抑或是其他更好的协议?

只能让时间来检验!

TCP还会有下一个十年吗?


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/26120.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于23-01-05
2