网络传输 Tips 小记

burst or pacing?

虽 pacing 相比 burst 更不易导致统计突发,特别是第一跳更容易由于 burst 而 bufferbloat,所以更该 pacing。

但最后一跳正相反。为最大降低接收 overhead,提高聚合效率(如 LRO, Big TCP),burst 应好过 pacing。

【端主机发送需照顾第一跳,不要让它 bufferbloat,所以 pacing】
【最后一跳发送需照顾接收端,要利于它批量接收,所以 burst】

端主机很容易 pacing,​但问题来了,叶交换机如何配置 burst 呢?

有损 or 无损

一般网络传输都是 best-effort 有损传输,允许丢包,端重传。那为什么 RDMA 却要求一个无损传输网络呢?

主要原因是 RDMA 基本由网卡等 hw 实现,做不了太复杂的逻辑,类似 Selective-ACK 这种复杂机制很难实现,不但接收端要维护暂存 out-of-order data 的 buffer,发送端也要维护 retransmit queue 并实现查找结构,硬件并不擅长做这个,因此只能简单 G-B-N。

但 G-B-N 非常重,应避免则避免,因此在传输网络中引入复杂机制避免丢包是高尚的,比如 PFC 即可最大限度以暂存并反压替代简单地丢包,但代价则是引入了不确定的延时。

并不是 RDMA 非要无损,只是 RDMA 弥补损失的兜底代价非常大,自己无能做复杂逻辑,强调尽可能无损而已。

况且,时间延展中,任何传输都无法做到无损,无论以太网,USB,还是 PCIE,只要传输需要时间,这段时间内就一定有概率发生任何事情。

不过随着 “进步”,RDMA 也越发智能,搞定网卡的 SACK,就不再需要 G-B-N,成本降低就随和了。RDMA 接受有损是趋势。推荐这篇 NetDAM拥塞控制

有线 or 无线

有线网络的传输介质是一根线,很容易实现全双工交换式传输,并任意扩展。

无线网络传输则完全不同,其传输介质是共享的空间频段,必须人为干预频段的管理和划分,一旦接入量达到一定阈值,性能就会抖动。

有线传输很容易将控制面集中在一个盒子里,使用 Cross-Bar or CLOS 结构集中进行路径交换,但无线传输则必须使用共享介质协议比如 CSMA/CA 进行冲突仲裁。

本质区别在于一根线可以束缚住脉冲信号,而线缆取之不尽且易得,很容易将控制面集中在线缆的一端,这就是交换机的由来。对于无线传输,一个频段也可以束缚住脉冲信号,但频段是有限且稀缺的,不得不依旧使用共享介质访问协议。

下载?

一个奇怪的圈。

以前网络带宽低,要么 RTT 太久,不足以支持 “在线操作”,比如 56kbps 无法看高清视频,因此需要下载到本机后操作,如今硬件发展,带宽提高了,吞吐优化的目的竟然还是为了下载更快。

CDN 就近接入意味着计算边缘化,延迟可控,带宽增加,让客户端可以越来越瘦,高带宽,低延迟网络中连内存都能远程 “在线” 访问,还需要下载吗?

当然,旧观念不革除,会永远觉得大吞吐就是为了快速下载到本地。但下载确实因为吞吐不足。

超高速网络交换节点

没什么比下面的例子更形象了:
十字路口最理想的通行方式,互不干扰,这是真的吗?

一个人或车若不讲武德非匀速前行,会发生什么?但非匀速才是统计复用的本质,若像视频里那般,便不是统计复用了,大致就是电信阵营的方式。但在互联网阵营,统计复用是根本。

如何管理 buffer,AQM,拥塞控制,是下一代超高速交换节点中涉及的难点。

未完待续…

浙江温州皮鞋湿,下雨进水不会胖。

原文链接: https://blog.csdn.net/dog250/article/details/128169221

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    网络传输 Tips 小记

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/405341

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月26日 上午9:08
下一篇 2023年4月26日 上午9:08

相关推荐