理解 InfiniBand 网络架构
InfiniBand 其实本质上就是一个协议栈,主要关注网络层、物理层与数据链路层,并且支持数种可靠性等级。InfiniBand 的最大特点是超高带宽,并且支持保证可靠且无损的传输。
如果对 OSI 七层模型比较了解,会发现 InfiniBand 和 OSI 七层模型的学习思路是一致的。InfiniBand 网络不是一种具体的网络。基于InfiniBand规范所搭建的网络均为 InfiniBand 网络,正如按照以太网规范建立的网络是以太网一样。这种架构规定了传输介质以及连接方式和传输规则(校验、包格式、错误检测等)。
但是与 OSI 七层模型不同,IB 主要将注意力集中在下三层(更多的精巧设计集中在下两层),提供了超高带宽和无损数据传输。
阅读 InfiniBand 的介绍可以发现,InfiniBand 其实是对传统网络架构的优化、创新与继承,特化了数据中心集群场景下的通讯功能,延用了很多传统网络架构的概念,而非颠覆性地引入信的概念。例如 MAC 、子网等概念的含义在 InfiniBand 架构中与传统架构中相同。
由于分层明确,提供了完整的服务原语,传统的上层协议依然可以运行在 IB 上(虽然可能需要一些 adapter),如 UDP、TCP与HTTP等上层协议。但是有一个问题是需要被关注的,IB 的下层协议已经确保了数据的无损传输,而传统的上层协议为了解决下层不可靠数据传输的问题,加入了大量对于基于 IB 的上层应用不必要的逻辑,无法释放 IB 的全部潜力。
为了解决这个问题,有一系列基于 IB 特性,为 IB 量身定制的一些协议,如 RDMA。